我正在创建一个应用程序。它有许多活动和片段,例如它有登录系统,然后另一个函数进入应用程序。但是当应用程序粉碎它时,保持登录状态。但参数保持为空。这就是应用程序向API发送空值的原因。但是现在我想在发生任何问题时停止完整的应用程序(app粉碎)。任何人都可以建议我!!!!
答案 0 :(得分:0)
你可以杀死完整的应用程序并将其从运行应用程序列表中通过pid删除它:
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
答案 1 :(得分:0)
Create a background service or Broadcast receiver and check with logged in parameter value ,if parameter value is null than call
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();`enter code here`
System.exit(0);
答案 2 :(得分:0)
由于这可以在任何活动中随时发生任何崩溃,一种方法是捕获defaultExceptionHandler中的所有异常,并在那里提供你的纾困机制,即在任何此类异常,杀死应用程序,重置参数,等
链接:how to implement uncaughtException android
http://developer.android.com/reference/java/lang/Thread.UncaughtExceptionHandler.html
实施的要点
设置默认异常处理程序以处理任何地方发生的崩溃。
// Application.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));
}
编写一个异常处理程序来处理任何崩溃。
// ExceptionHandler.java
公共类ExceptionHandler实现 java.lang.Thread.UncaughtExceptionHandler { 私人最终活动ctx;
public ExceptionHandler(Activity ctx) {
this.ctx= ctx;
}
public void uncaughtException(Thread thread, Throwable exception) {
// Send mail or upload exception details if required.
// kill app.
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(10);
}
}