Android - 在屏幕关闭或屏幕超时时终止应用程序
Android - Kill an app when screen turned off or screen times out
我想终止/完全关闭一个应用程序,这样即使在我按下屏幕转动 on/off 按钮或屏幕超时时,它也不会 运行 在后台运行。我在互联网上的任何地方都找不到解决方案。你们能帮我一个代码片段吗?谢谢
首先检查屏幕是否在后台运行的服务中被锁定:
KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
if( myKM.inKeyguardRestrictedInputMode()) {
//it is locked
getActivity().finish();
System.exit(0);
} else {
//it is not locked
}
然后如果屏幕被锁定,您只需终止该应用程序。
希望这会有所帮助。
你可以参考这个link来检测屏幕关闭
Screen off Broadcast receiver 要终止应用程序,您可以使用以下代码
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
要使 activity 像吐司一样(出现即走),请将以下代码添加到清单中:
<activity android:name=".YourActivity"
android:label="YourActivityLabel"
android:taskAffinity=""
android:clearTaskOnLaunch="true"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true"
android:noHistory="true"
android:launchMode="singleTask">
</activity>
我想终止/完全关闭一个应用程序,这样即使在我按下屏幕转动 on/off 按钮或屏幕超时时,它也不会 运行 在后台运行。我在互联网上的任何地方都找不到解决方案。你们能帮我一个代码片段吗?谢谢
首先检查屏幕是否在后台运行的服务中被锁定:
KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
if( myKM.inKeyguardRestrictedInputMode()) {
//it is locked
getActivity().finish();
System.exit(0);
} else {
//it is not locked
}
然后如果屏幕被锁定,您只需终止该应用程序。 希望这会有所帮助。
你可以参考这个link来检测屏幕关闭 Screen off Broadcast receiver 要终止应用程序,您可以使用以下代码
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
要使 activity 像吐司一样(出现即走),请将以下代码添加到清单中:
<activity android:name=".YourActivity"
android:label="YourActivityLabel"
android:taskAffinity=""
android:clearTaskOnLaunch="true"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true"
android:noHistory="true"
android:launchMode="singleTask">
</activity>