2016-09-29 96 views
0

我想知道有什麼辦法可以阻止我的android應用程序從任務管理器中查殺。無論是任何第三方應用程序,從RAM管理器清除或用戶點擊強制停止。我只是不想從後臺殺死我的應用程序,它應該運行。有什麼辦法可以阻止我的android應用程序被殺嗎?

+0

的可能的複製[安卓:保持後臺服務還活着(防止處理死亡)(http://stackoverflow.com/questions/3856767/android-keeping-a-background-service-alive-preventing-過程死亡) –

+0

我認爲應用程序有時甚至會被系統殺死..但是您可以運行服務背景,即使應用程序被殺死也可以工作。可以實施鬧鐘管理器,以便即使應用程序被殺或處於睡眠模式,任何特定的任務可以實施.. [http://stackoverflow.com/questions/4459058/alarm-manager-example] –

+0

你能告訴我們爲什麼你想這樣做? –

回答

1

如何禁用 「強制停止」 按鈕

簡短的回答:使用Device Administration API.

如何證明它的作品?

是的,回到你的工作。使用上面提供的API鏈接以及谷歌的sample collection中包含的Api Demos來了解如何將其集成到您的應用中。

  1. 構建演示並在設備上運行它。
  2. 選擇API Demos->App->Device Admin->General->Enable admin.
  3. 選擇設備管理API在其啓用屏幕提示您時激活。
  4. 退出應用程序並嘗試通過設備的設置菜單管理應用程序(此步驟的具體細節因設備而異)。
  5. 當查看Api Demo的「應用程序信息」屏幕時,您應該看到禁用強制停止和卸載。

如何在我自己的應用程序中執行此操作?

評論DeviceAdminSample.javaAPI演示應用的靈感。你將需要:

下面的代碼是什麼帶來了激活屏幕:

// Launch the activity to have the user enable our admin. 
       Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); 
       intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample); 
       intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, 
         mActivity.getString(R.string.add_admin_extra_app_text)); 
       startActivityForResult(intent, REQUEST_CODE_ENABLE_ADMIN); 

不過,也有一些其他的作品,你將需要得到這個工作:

  1. 從DeviceAdminReceiver派生的廣播接收器。
  2. 清單文件中涉及上述廣播接收器的條目。
  3. 清單中使用設備管理器API的權限。
  4. 一個xml文件,說明您的應用可以訪問哪些策略。

所有這些都可以在上面的鏈接中找到。祝你的客戶好運!

+0

這是非常有用的,而且工作。但是我們可以以某種方式禁用任務管理器嗎? – Ace

0

這可能是一個骯髒的方式來做到這一點。但它爲我工作。

只需覆蓋onDestroy()方法並重新啓動該服務即可。

@Override 
public void onDestroy() { 
    Intent intent = new Intent(this,YourService.class); 
    startService(intent); 
} 
相關問題