歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 中強制關掉指定的應用

在寫Android應用的過程中,我們經常會遇到一些應用之間可能有沖突之類的,所以必須是要關閉沖突的應用。

加入A應用要關閉B應用,如果有B應用的代碼,那當然是很簡單,直接寫一個廣播就可以關閉。但是如果我們沒有代碼,我們如何去關閉呢。

由於我現在是Android 4.0的系統,在網上找了很多方法都不行。搜索了很久,找到了解決方案,在此記下了。

List<RunningAppProcessInfo> myappprocess=am.getRunningAppProcesses();
  for(RunningAppProcessInfo info:myappprocess)
    {
 
    if(info.processName.equals("com.dailyroads.v"))
    {
    Log.i("zhou", "kill----com.dailyroads.v");
    int pid=info.pid;
    Method method = Class.forName("android.app.ActivityManager").getMethod("forceStopPackage", String.class);
    method.invoke(am, "com.dailyroads.v");
    if(mytoast==null)
    {
    mytoast=new Toast(getApplicationContext());
    }
    mytoast.makeText(getApplicationContext(), R.string.xingcheclose, 1).show();
   
  break;
    }
    }

這個是我指定關閉包名為“com.dailyroads.v”的應用。

但是只是上面還是不行

我們需要加上權限

  <uses-permission android:name="android.permission.GET_TASKS"/>
 <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>

還需要加上

android:sharedUserId="android.uid.system"


然後把編譯出來的apk簽名,就OK了。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved