歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 中強制關掉指定的應用

Android 中強制關掉指定的應用

日期:2017/3/1 10:01:32   编辑:Linux編程

在寫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