测试反馈说使用微博第三方登陆时弹出“Application requires permission to access the Internet",之前使用并没有发现这个问题,那就是微博SDK版本的问题了。
我用的是4.3.7,换成4.3.6就没这个问题了。
首先来看一下弹出弹窗的代码:
if(!NetworkHelper.hasInternetPermission(this.mAuthActivity)) {
UIUtils.showAlert(this.mAuthActivity, "Error", "Application requires permission to access the Internet");
}
点进去看一下判断权限的地方:
public static boolean hasInternetPermission(Context context) {
return context != null?0 == context.checkCallingPermission("android.permission.INTERNET"):true;
}
这是4.3.7版本的权限判断,4.3.6没有这个问题,来看一下代码:
return context != null?0 == context.checkCallingOrSelfPermission("android.permission.INTERNET"):true;
很显然是这两个判断权限的方法造成的,具体这两个方法的使用场景是什么,等有时间再研究。