Моя активность (MyActivity.class)
выполняет метод установки блокировки экрана следующим образом:
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.
Есть ли другой более эффективный способ передачи данных обратно в вызывающую активность?