Моя деятельность (MyActivity.class)
выполняет метод, чтобы установить блокировку экрана следующим образом:Pass результат от DeviceAdminReceiver обратно вызова активность
startActivityForResult(Security.setLockscreen(getBaseContext()), 1001);
Тогда мой класс приемник регистрирует изменения экрана блокировки, как следующие:
public class MyDeviceAdminReceiver extends DeviceAdminReceiver {
@Override
public void onPasswordChanged(Context context, Intent intent) {
super.onPasswordChanged(context, intent);
// pass result back to calling activity
intent = new Intent(context, MyActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("pwdChange", true);
context.startActivity(intent);
}
}
И затем обрабатываю результат в методе onActivityResult
от MyActivity
.
Является ли вышеперечисленный способ возврата результатов к деятельности? Я заметил, что это создает другой экземпляр класса MyActivity вместо повторного использования существующего экземпляра класса MyActivity.
Есть ли еще более эффективный способ передачи данных обратно в вызывающую активность?
Достаточно использовать 'SharedPreferences'. –