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

私が見つけた1つの解決策は、クラスからクラスにSharedPreferencesデータを渡すために使用することです。DeviceAdminReceiverActivity

他の経験豊富な開発者がこのスレッドに投稿してみんなと共有できる実用的なソリューションが他にもあると確信しています。

于 2012-12-20T15:06:34.150 に答える