Я хочу защитить определенные функции за паролем устройства. Поэтому, если пользователи пытаются использовать эту функцию, они снова должны подтвердить пароль.доступ к действию со стороны широковещательного приемника
Это код в классе деятельности.
Context appContext = activity.getApplicationContext();
RestrictionsManager rManager = (RestrictionsManager) appContext.getSystemService(appContext.RESTRICTIONS_SERVICE);
rManager.requestPermission(RestrictionsManager.ACTION_REQUEST_PERMISSION, "someID", new PersistableBundle());
Это код для обработки ответа от диалога пароля подтверждения в классе PermissionResponseReceiver.
public class PermissionResponseReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
......
}
}
Есть простой способ обращения к подлинному деятельности в PermissionResponseReceiver.onReceive (...). В настоящее время мне приходится отслеживать экземпляр активности и предоставлять публичный статический метод для его получения, но это кажется очень хакированным, и я ищу альтернативу. Есть ли у вас какие-либо предложения? Благодарю.
Почему вы хотите это сделать? Удержание любой информации о действии опасно, но особенно статично. Если вы объясните, чего вы пытаетесь достичь, кто-то скажет вам правильный способ сделать это. – Simon
Если пароль подтвержден, я хочу, чтобы активность что-то делала. Следовательно, мне нужно иметь доступ к активности в onReceive() – hixhix
Попробуйте переместить PermissionResponseReceiver как внутренний класс вашей деятельности. – kzz