在我的android应用程序中,我必须在应用程序运行期间将数据保存在外部目录中。执行一些操作后,我删除了数据,因此在这种情况下没有问题。但是我希望删除这些数据,以防应用程序崩溃或在所有操作完成之前被用户手动杀死。
答案 0 :(得分:1)
我不确定要强制执行杀死操作,但是如果发生崩溃,您可以按以下方式删除数据:
创建用于处理unCaughtException
public class MyExceptionHandler implements
java.lang.Thread.UncaughtExceptionHandler {
private final Context myContext;
private final Class<?> myActivityClass;
public MyExceptionHandler(Context context, Class<?> c) {
myContext = context;
myActivityClass = c;
}
public void uncaughtException(Thread thread, Throwable exception) {
//delete your data
}
}
,并在每个Activity中创建此类的Object并将其设置为DefaultUncaughtExceptionHandler
Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(this,
YourCurrentActivity.class));
答案 1 :(得分:-1)
要从最近的酒吧中删除该应用程序:
onDestryoy()
方法被调用。
public void onDestroy(){
super.onDestroy();
// delete you data here
}
,对于ANR(Application Not Responding)
或crash
,您应该使用:
public class MyExceptionHandler implements
java.lang.Thread.UncaughtExceptionHandler {
private final Context myContext;
private final Class<?> myActivityClass;
public MyExceptionHandler(Context context, Class<?> c) {
myContext = context;
myActivityClass = c;
}
public void uncaughtException(Thread thread, Throwable exception) {
//delete your data
}
}
,并在每个Activity中创建此类的Object并将其设置为DefaultUncaughtExceptionHandler
Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(this,
YourCurrentActivity.class));
答案 2 :(得分:-2)
将删除代码放入以下方法中:
public void onDestroy() { super.onDestroy(); }