我正在做一個關於殺死運行服務的簡單活動。 我發現一個方法「killBackgroundProcesses」來殺死後臺應用或服務。 我試圖殺死後臺應用程序和服務。 正在運行的應用程序和一些服務被殺死,但特別是音樂服務是永遠不會被殺死的......如何殺音樂服務?
我想製作一個殺死背景音樂服務的simeple應用程序。 該應用程序只有一個按鈕(名稱是「殺死音樂」) 如果用戶單擊該按鈕,背景音樂應該被殺死。
音樂播放默認音樂播放器.. 我怎麼能殺死背景音樂? 還有其他殺音樂服務的方法嗎?
這裏是我的代碼,我試過.. 任何建議將不勝感激。 謝謝。
public class Android32_TaskKillerActivity extends Activity {
ActivityManager manager;
List<RunningServiceInfo> list;
String str=""; //to contain running Servies name and write on Toast message.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bt = (Button)findViewById(R.id.button1); //to kill All Services
manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
list = manager.getRunningServices(300); //save current Servies to List
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for(int i=0; i<list.size(); i++){
RunningServiceInfo info = list.get(i);
String temp = info.service.getPackageName();
str += temp+"\n";
manager.killBackgroundProcesses(temp);//killing services one by one to the end.
}
Toast.makeText(getBaseContext(), "All Services are finished \n" + str, 3000).show();
}
});
}
}
你正在說明應用程序不允許再做這種事情的原因。 ;)你只想殺掉音樂服務,但是你的代碼使用了所有**運行服務的列表。更糟糕的是,它正在通過一系列運行服務的陳舊列表,這些服務在第一次創建活動時被填充。任務殺手級應用程序有導致其他應用程序發生故障的歷史(包括鬧鐘!),導致深感沮喪的用戶無法輕易知道原因。應用程序以這種方式破壞系統的能力已被刪除。 – adamp