Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Request Permission from Application class [duplicate]

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

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?

like image 357
user1324887 Avatar asked Jul 06 '16 08:07

user1324887


1 Answers

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

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 requires activity and not context

like image 133
mdtuyen Avatar answered Oct 23 '22 03:10

mdtuyen