0

我有一個簡單的啓動器,列出所有的應用程序列表視圖。我只想在這個啓動器中使用一個功能;當點擊列表視圖中的某個項目(如第5項)時,我想完全殺掉所有以前打開的應用程序,然後打開第5個應用程序。我不知道我應該尋找什麼。我有作爲設備管理員和設備所有者的啓動器應用程序,我認爲它與DevicePolicyManager類有關。我也嘗試finishActivity(int requestcode),但它沒有工作。下面是onItemClick()監聽器:創建啓動器,殺死所有以前打開的應用程序

list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> av, View v, int pos,long id) { 
       Intent i = manager.getLaunchIntentForPackage(apps.get(pos).name.toString()); 
       AppsListActivity.this.startActivity(i); 

      } 
     }); 
+0

我不認爲你的非系統應用可以殺死其他應用。 –

+0

但是這個非系統應用(啓動器)也是設備所有者應用和設備管理員。從這裏,它不能決定其他應用程序的功能嗎? –

回答

0

背後,爲什麼你想開始下一個應用程序的活動將幫助之前殺死之前打開的應用程序多一點背景。如果我理解正確,那永遠只會有一個應用程序被殺,因爲只有一個應用程序總是在運行,對吧?

如果您不需要完全殺死應用程序,那麼暫停所有包setPackagesSuspended(如果您運行的是API 24或更高版本)除了選定的程序包,當然還有啓動程序,將會更加優雅。暫停的套餐將無法啓動活動。它的通知將被隱藏,它不會顯示在最近的內容中,也不會顯示吐司或對話框或者打開設備。如果您擔心資源,是否有理由不相信Android管理資源並在需要時終止進程?

相關問題