2016-03-30 2 views
0

Я хотел бы узнать, видно ли всплывающее окно разрешения во время выполнения или нет. Как я могу это знать? Существует ли какой-либо метод обратного вызова или переопределения для него.Runtime Permission on android marshmallow

+0

Попробуйте это, возможно, это будет работать http://stackoverflow.com/a/41221852/5488468 –

ответ

1

Вы сами запрашиваете разрешения, чтобы знать, когда он будет показан. Вы также можете добавить обратный вызов результата. См. Код ниже;

public void requestPermissions(List<String> permissions, ActivityCompat.OnRequestPermissionsResultCallback onRequestPermissionsResultCallback) { 
    String[] params = permissions.toArray(new String[permissions.size()]); 
    requestPermissions(params, onRequestPermissionsResultCallback); 
} 

public void requestPermissions(String[] permissions, ActivityCompat.OnRequestPermissionsResultCallback onRequestPermissionsResultCallback) { 
    this.onRequestPermissionsResultCallback = onRequestPermissionsResultCallback; 
    ActivityCompat.requestPermissions(this, permissions, REQUEST_CODE_PERMISSIONS); 
} 

@Override 
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
    if (requestCode == REQUEST_CODE_PERMISSIONS && onRequestPermissionsResultCallback != null) { 
     this.onRequestPermissionsResultCallback.onRequestPermissionsResult(requestCode, permissions, grantResults); 
     this.onRequestPermissionsResultCallback = null; 
    } 
} 

Это, как правило, сидят внутри какого-то базового класса Activity.

+0

Нет, я добавил некоторые библиотеки в свое приложение, и эта библиотека показывает всплывающее окно разрешения во время выполнения и не имеет контроля над кодом приложения. Таким образом, в этом случае, как я могу узнать, что всплывающее окно находится в действии или нет? –

+0

Вам нужно будет посмотреть библиотечную документацию, чтобы узнать, добавили ли вы эту возможность для получения этой информации. Логика настолько проста, что библиотеки практически не требуется. – vguzzi

+0

Библиотека, которую я использую, не предназначена для разрешения времени выполнения, она фактически предназначена для push-уведомлений и объявлений. Эти две библиотеки используют разрешения. –

Смежные вопросы