开发中遇到的细节问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sumu958_/article/details/80704724

 

 

SecurityException 异常在android 6.0 READ_PHONE_STATE权限引起

AndroidManifest.xml中添加了READ_PHONE_STATE权限,可是手机上一直报错

问题产生原因:

android6.0以上版本;

编译环境 targetSdkVersion 23;

没做权限的请求处理;

android 6.0以上增加了动态获取权限api,不做处理会报错。

解决办法 

 targetSdkVersion 设置小于23;
或者:动态权限适配;

异常:Form-encoded method must contain at least one @Field.

没有一个请求参数,但是注解使用了 @FormUrlEncoded,去掉就行,其实我是有参数的 本质原因在于混淆时候没有加全混淆



 

统计下载总量,获取唯一设备码上传服务器

一 UUID(Universally UniqueIDentifier)

 没有删除应用程序,UUID该应用程序的保持不变。删除了然后再重新安装,UUID已经发生了改变。通过调用[[UIDevice currentDevice]identifierForVendor];方法可以获取UUID。UUID不好的地方就是用户删除了你开发的程序以后,基本上你就不可能获取之前的数据了。

二 UDID(Unique Device

是一串由40位16进制数组成的字符串,用以标识唯一的设备,现在想通过代码获取是不可能的了,如果你想看看你设备的UDID,可以通过iTunes来查看。苹果从iOS5开始就移除了通过代码访问UDID的权限,所以想知道用户设备的UDID,是不行的。

三 DEVICE_ID

这是Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且唯一性良好。这个DEVICE_ID可以同通过下面的方法获取:

  1. TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  
  2. String DEVICE_ID = tm.getDeviceId();  
  3.  

猜你喜欢

转载自blog.csdn.net/sumu958_/article/details/80704724