我的活动 (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);
}
}
然后我从MyActivity
类中的onActivityResult
方法中处理结果。
上述结果是将结果传递回活动的最佳方法吗?我注意到以上创建了另一个MyActivity类的实例,而不是重复使用MyActivity类的现有实例。
是否还有另一种更有效的方法将数据传递回呼叫活动?
我发现的一种解决方案是使用SharedPreferences
将数据从DeviceAdminReceiver
类传递到Activity
类。
我敢肯定,还有其他经验丰富的开发人员可以在此线程中发布其他工作解决方案以与所有人共享。