从Application类请求权限

use*_*887 6 android android-activity android-applicationinfo android-permissions

根据新的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);
    }
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

问题是我M在我的类,这是做public class MyApplication extends Application{...}这样activity是不是可以在这里找到.有没有办法在这个课程中要求权限或通过某种方式传递活动?

pho*_*van 9

有没有方法可以让你request PermissionApplication.你总是需要activity它.

Application所谓的,没有活动被初始化.

您可以参考这个答案,为什么我们需要一个活动请求权限:

Android:ActivityCompat.requestPermissions需要活动而不是上下文