2017-08-09 19 views
0

您好我想杀死我的APK和背景serivces我试着这样做:的Java andoroid杀APK和后台服务

finishAffinity(); 
        ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE); 
        am.killBackgroundProcesses("pl.eltegps.inwentaryzja.offline"); 

       int pid = Process.myPid(); 
       Process.killProcess(pid); 
       System.exit(1); 

但它不工作。当我检查我是如何minimalize APK我看到了我的apk

+0

HTTPS:/ /stackoverflow.com/a/10597017/2551236 – Vihar

+0

[Android销毁活动,查杀进程]的可能重复(https://stackoverflow.com/questions/14375720/android-destroying-activities-killing-processes) – Vihar

+0

@Viha r我chec这个答案,它不适用于我 –

回答

0
List<ApplicationInfo> packages; 
    PackageManager pm; 
    pm = getPackageManager(); 
    //get a list of installed apps. 
    packages = pm.getInstalledApplications(0); 

    ActivityManager mActivityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); 

    for (ApplicationInfo packageInfo : packages) { 
     if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue; 
     if(packageInfo.packageName.equals("mypackage")) continue; 
     mActivityManager.killBackgroundProcesses(packageInfo.packageName); 
    } 
+0

我不知道我做错了什么,但我一直在apk中看到这个apk,这是工作 –

+0

您的finishAffinity()方法在您的代码执行之前执行,因此可能有在这个方法中是什么。是我共享的代码工作? –

+0

我评论我的代码,并把你的,它不工作 –

0

我做到这一点,它的工作原理:

Intent i = new Intent(LFRFIDActivity.this, SplashScreen.class); 
        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        i.putExtra("isExitAction", true); 
        startActivity(i); 

和飞溅的活动我这样做:

@Override 
    protected void onResume() { 
     super.onResume(); 
     try { 
      Intent i = getIntent(); 
      Boolean isExit = i.getBooleanExtra("isExitAction",false); 
      if(isExit){ 
       this.finish(); 
      } 
     } 
     catch (Exception e){} 
    }