0

コードバで Android アプリケーションをプログラミングしています。このアプリは、専用の Android 5.1.1 デバイスにのみインストールされます。とりわけ、すべてのアプリデータを消去する機能があります。この機能を cordova-plugin に実装しました。

// My Cordova Plugin java
if (action.equals("factory_reset")) {
  try {
    Log.i(TAG, "Factory Reset");
    ((ActivityManager)cordova.getActivity().getApplicationContext().getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();
    rebootDevice();
  } catch (Exception ex) {
    Log.w(TAG, "Error while doing a Factory Reset", ex);
  }
}

すべてのアプリデータの削除が完了した後、デバイスを再起動したい。これが私の再起動機能です:

private void rebootDevice(){
  Context mContext = cordova.getActivity().getApplicationContext();
  PowerManager pManager = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
  pManager.reboot(null);
}

再起動機能自体は動作しています。((ActivityManager)cordova.getActivity().getApplicationContext().getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();ただし、アプリがすぐに強制的に閉じられるため、呼び出すときにこの関数に到達しないという問題があります。

どうすればこれを解決できますか? アプリケーションデータをクリアしてデバイスを再起動するにはどうすればよいですか?

4

1 に答える 1