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可以同通过下面的方法获取:
- TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
- String DEVICE_ID = tm.getDeviceId();