从应用程序类请求权限 [英] Request Permission from Application class

查看:57
本文介绍了从应用程序类请求权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据新的Android文档,为了收集某些数据,我需要请求权限.所以我正在这样做:

As per the new Android doc, In order to collect certain data, I need to request for permission. So I am doing this :

@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);
    }
    ...
    ...
}

问题是我正在我的类中进行操作,该类是公共类MyApplication扩展了Application {...} ,因此此处没有提供 activity .有没有办法在此类中寻求许可或通过活动的方式?

The problem is I m doing it in my class which is public class MyApplication extends Application{...} so activity isn't available here. Is there a way to ask for permissions in this class or a way around to pass an activity?

推荐答案

您无法通过 Application 进行请求许可.您始终需要 activity .

There is no way for you request Permission from Application. You always need an activity for it.

调用 Application 时,不会初始化任何活动.

When Application called, no Activity is initialized.

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

You can refer to this answer that why we need an activity for request Permission:

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

这篇关于从应用程序类请求权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆