人跡罕至的android要完全退出程式的一種方法

2021-09-08 11:13:29 字數 884 閱讀 6716

最近的乙個專案,無意中發現了乙個方法,使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被呼...