8

根据新的 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这里没有。有没有办法在这个类中请求权限或通过一个活动的方法?

4

1 回答 1

10

你没有办法request PermissionApplication。你总是需要一个activity

调用时Application,不会初始化任何 Activity。

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

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

于 2016-07-06T08:26:21.623 回答