Android 将结果从DeviceAdminReceiver传递回调用活动

Android 将结果从DeviceAdminReceiver传递回调用活动,android,android-activity,receiver,device-admin,Android,Android Activity,Receiver,Device Admin,My activity(MyActivity.class)执行如下方法设置屏幕锁定: startActivityForResult(Security.setLockscreen(getBaseContext()), 1001); public class MyDeviceAdminReceiver extends DeviceAdminReceiver { @Override public void onPasswordChanged(Context context, Intent

My activity
(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);
    }
}
然后,我的receiver类将更改记录到屏幕锁,如下所示:

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);
    }
}
然后我在
MyActivity
类的
onActivityResult
方法中处理结果

以上是将结果传递回活动的最佳方式吗?我注意到上面创建了MyActivity类的另一个实例,而不是重用MyActivity类的现有实例


有没有其他更有效的方法将数据传递回调用活动?

我发现的一个解决方案是使用
SharedReferences
将数据从
DeviceAdminReceiver
类传递到
活动


我相信其他有经验的开发人员可以在此线程中发布其他工作解决方案,与大家共享。

使用
SharedReferences
就足够了。