Androidの2行のコードを使って本当にあなたのAppを殺します。
Androidで殺すプロセスは、System.exit(0)とProcess.killProcess(Process.myPid)の2つの方法があります。この2つの方法は暴力的で、Appプロセスは直接殺されます。しかし、Androidの安全メカニズムのため、上記の2つの方法を呼び出した後、Appは自動的に再起動されます。
私たちはどうやってアプリを殺したらいいですか?
二つのステップが必要だと思います。
一、開いているすべてのActivityをオフにします。
二、System.exit(0)またはProcess.killProcess(Process.myPid)を呼び出します。
まず二つのActivityを閉じる方法を紹介します。
1、この第一の方法は郭神が『第一行コード』で述べたものです。ここで引用します。
まず、私達は専門の集合類を使ってすべての活動を管理し、ActivityCollector類を新規に活動マネージャとして作成したいです。コードは下記の通りです。
次に私たちはBaseActivityを作成します。その後に作成したすべてのActivityはこのBaseActivityに引き継がれます。
コードは以下の通りです。
その後BaseActivityにonDestroy()方法を書き直し、ActivityCollectorのremoveActivity()方法を呼び出し、すぐに廃棄する活動を活動マネージャから除去することを表明しました。
これからは、どこでプログラムを終了したいのかに関わらず、ActivityCollect or.finishAllを呼び出すだけでいいです。
2、この第二の方法はかなり簡単です。一行のコードだけが必要です。
Activityでは、
finish Affinity()
Fragmentであれば、
get Activity().finish Affinity()
OKです今はすべてのActivityをオフにしました。これからはSystem.exit(0)またはProcess.killProcess(Process.myPid()のいずれかを呼び出すだけで、いつでもどこでも実際にAppを殺すことができます。
以上のこのAndroid 2行のコードを利用して本当にあなたを殺したAppは小編集で皆さんに提供したすべての内容です。参考にしていただければと思います。どうぞよろしくお願いします。
私たちはどうやってアプリを殺したらいいですか?
二つのステップが必要だと思います。
一、開いているすべてのActivityをオフにします。
二、System.exit(0)またはProcess.killProcess(Process.myPid)を呼び出します。
まず二つのActivityを閉じる方法を紹介します。
1、この第一の方法は郭神が『第一行コード』で述べたものです。ここで引用します。
まず、私達は専門の集合類を使ってすべての活動を管理し、ActivityCollector類を新規に活動マネージャとして作成したいです。コードは下記の通りです。
private static List<Activity> activities = new ArrayList<>();
public static void addActivity(Activity activity) {
activities.add(activity);
}
public static void removeActivity(Activity activity) {
activities.remove(activity);
}
public static void finishAll() {
for (Activity activity : activities) {
if (!activity.isFinishing()) {
activity.finish();
}
}
activities.clear();
}
活動マネージャでは、Listに活動を一時保存し、Listに活動を追加するためのaddActivity()方法を提供し、Listから活動を除去するためのremoveActivity()方法を提供し、最後にListに記憶されている活動を全て廃棄するためのfinishAll()方法を提供します。次に私たちはBaseActivityを作成します。その後に作成したすべてのActivityはこのBaseActivityに引き継がれます。
コードは以下の通りです。
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity", getClass().getSimpleName());
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
BaseActivityのonCreate()メソッドでActivityCollectorのaddActivity()メソッドを呼び出し、現在作成されている活動を活動マネージャに追加することを示します。その後BaseActivityにonDestroy()方法を書き直し、ActivityCollectorのremoveActivity()方法を呼び出し、すぐに廃棄する活動を活動マネージャから除去することを表明しました。
これからは、どこでプログラムを終了したいのかに関わらず、ActivityCollect or.finishAllを呼び出すだけでいいです。
2、この第二の方法はかなり簡単です。一行のコードだけが必要です。
Activityでは、
finish Affinity()
Fragmentであれば、
get Activity().finish Affinity()
OKです今はすべてのActivityをオフにしました。これからはSystem.exit(0)またはProcess.killProcess(Process.myPid()のいずれかを呼び出すだけで、いつでもどこでも実際にAppを殺すことができます。
以上のこのAndroid 2行のコードを利用して本当にあなたを殺したAppは小編集で皆さんに提供したすべての内容です。参考にしていただければと思います。どうぞよろしくお願いします。