从应用程序类请求权限 [英] Request Permission from Application class
问题描述
根据新的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屋!