0

我的活动(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 类的现有实例。

是否有另一种更有效的方式将数据传回调用活动?

4

1 回答 1

0

我发现的一种解决方案是用于SharedPreferences将数据从一个DeviceAdminReceiver类传递到一个Activity类。

我确信其他有经验的开发人员可以在此线程中发布其他可行的解决方案与大家分享。

于 2012-12-20T15:06:34.150 回答