最近的乙個專案,無意中發現了乙個方法,使android要完全退出程式的一種方法,遙想當年,以便找到讓的有效途徑android遇險完全退出程式,我不由得有些感慨。
在這裡,不敢獨享。和大家分享一下,還啟動,來繼續**一下這個問題。
方法非常easy。事實上就是一層窗戶紙,知道了。就明確了。
用jni呼叫linux系統呼叫exit就可以。
以下給出詳細實現:
package com.example.bitmaptest;
import android.util.log;
static
private native void native_exit();
public void exit()
native_exit(); }
public static inte***ce onexitlistener
private onexitlistener listener;
public void setonexitlistener(onexitlistener listener)
public onexitlistener getonexitlistener()
}
jni實現例如以下:
(jnienv * env, jobject obj)
備註:使用該方法後,log裡會發現例如以下內容:
06-15 09:20:49.316: i/activitymanager(805): process com.example.bitmaptest (pid 5784) has died.
06-15 09:20:49.316: i/windowstate(805): win death: window
android開發要避免的那些坑
flag 解釋start sticky 如果service程序被kill掉,保留service的狀態為開始狀態,但不保留遞送的intent物件。隨後系統會嘗試重新建立service,由於服務狀態為開始狀態,所以建立服務後一定會呼叫onstartcommand intent,int,int 方法。如果...
android開發要避免的那些坑
flag 解釋start sticky 如果service程序被kill掉,保留service的狀態為開始狀態,但不保留遞送的intent物件。隨後系統會嘗試重新建立service,由於服務狀態為開始狀態,所以建立服務後一定會呼叫onstartcommand intent,int,int 方法。如果...
android應用完全退出的方法 續
之前有寫過一篇android應用完全退出的方法,是在onpause 方法裡呼叫finish 去接收當前activity。這種方法試用範圍較狹窄,只能用於只包含乙個activity的應用。比如乙個應用中有兩個activity a和b,a是mainactivity。從a跳轉到b後,a中onpause被呼...