屏蔽系统崩溃
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread thread, Throwable ex) {
//TODO
handler.sendEmptyMessage(0);
//finish();
}
});写到Oncreate()方法中加载布局的下面
/**
* 用Handler来更新UI
*/
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
Intent i = new Intent("android.intent.action.MAIN");
i.setComponent(new ComponentName("cn.elephants","cn.elephants.view.Loading"));
startActivity(i);
android.os.Process.killProcess(android.os.Process.myPid());
finish();
}}; 这是个方法直接拷进去
屏幕常亮和完全退出程序
屏幕常亮
需要权限
<uses-permission android:name="android.permission.WAKE_LOCK" />
为了不对其他程序造成影响,启用和关闭屏幕常亮的代码一般被放在 Activity 的 onResume() 和 onPause() 事件中。
Java代码
PowerManager.WakeLock wakeLock;
//启用屏幕常亮
wakeLock = ((PowerManager)getSystemService(POWER_SERVICE)).
newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, “MyActivity”);
wakeLock.acquire();
//关闭屏幕常亮
if (wakeLock != null) {
wakeLock.release();
}
PowerManager.WakeLock wakeLock;
//启用屏幕常亮
wakeLock = ((PowerManager)getSystemService(POWER_SERVICE)).
newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, “MyActivity”);
wakeLock.acquire();
//关闭屏幕常亮
if (wakeLock != null) {
wakeLock.release();
}
2.2下完全关闭程序:
Java代码
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
System.exit(0);