根据新的Android文档,为了收集某些数据,我需要请求许可。所以我这样做:
@Override
public void onCreate() {
super.onCreate();
...
...
if (PermissionUtility.isPermitted(applicationContext, android.Manifest.permission.READ_SMS)) {
userNumber = getUserPhoneNumber();
} else {
ActivityCompat.requestPermissions(activity,
new String[]{android.Manifest.permission.READ_SMS},
Constants.REQUEST_CODE_READ_SMS);
}
...
...
}
问题是我在班级public class MyApplication extends Application{...}
这样做,所以activity
在这里不可用。有没有办法在这个课程中要求权限或者传递活动?
答案 0 :(得分:8)
您request Permission
无法Application
。你总是需要一个activity
。
调用Application
时,不会初始化任何活动。
您可以参考这个答案,为什么我们需要一个活动来获取请求权限:
Android: ActivityCompat.requestPermissions requires activity and not context