我正在创建Android应用程序来锁定移动设备中安装的应用程序。在这个应用程序中,我创建了两个活动和两个类
此应用程序的问题在于,当用户尝试解锁应用程序时,在解锁应用程序后,锁定屏幕会转到后台并且不会被杀死。我希望锁定屏活动在用户解锁应用时被杀死。
LockAppMainActivity(启动服务)
startService(new Intent(this, CreatedWith.class));
CreatedWith
@Override
public int onStartCommand(Intent intent, int startId,int ff) {
int delay = 10;
int period = 100;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask()
{
public void run()
{
odopo();
}
}, delay, period);
return START_STICKY;
}
void odopo(){
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
String activityOnTop = ar.topActivity.getClassName();
if(activityOnTop.contains("whatsapp"))
{
if(LockAppMainActivity.myId!=1){
Intent lockIntent = new Intent(this, LockScreen.class);
lockIntent.putExtra("sec", activityOnTop);
lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(lockIntent);
}}}
的LockScreen 如果用户输入的密码正确,则运行以下代码。
Intent LaunchApp = getPackageManager().getLaunchIntentForPackage(ar.topActivity.getPackageName());
LaunchApp.setFlags(LaunchApp.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(LaunchApp);
此代码的问题在于,当应用程序解锁时,LockScreen会进入后台但我希望它被杀死。
提前谢谢
答案 0 :(得分:0)
public void onDestroy() {
super.onDestroy();
android.os.Process.killProcess(android.os.Process.myPid());
}
别忘了打电话给finish();
如果你想因内存使用而杀死它,你可能想让操作系统杀掉它。 Android RAM经过优化,可以保持更多的空载。如果操作系统达到内存状态&#34;(OOM),它就会开始杀死最低优先级的进程(后台进程的优先级非常低)