我想知道有什麼辦法可以阻止我的android應用程序從任務管理器中查殺。無論是任何第三方應用程序,從RAM管理器清除或用戶點擊強制停止。我只是不想從後臺殺死我的應用程序,它應該運行。有什麼辦法可以阻止我的android應用程序被殺嗎?
0
A
回答
1
如何禁用 「強制停止」 按鈕
簡短的回答:使用Device Administration API.
如何證明它的作品?
是的,回到你的工作。使用上面提供的API鏈接以及谷歌的sample collection中包含的Api Demos來了解如何將其集成到您的應用中。
- 構建演示並在設備上運行它。
- 選擇
API Demos->App->Device Admin->General->Enable admin.
- 選擇設備管理API在其啓用屏幕提示您時激活。
- 退出應用程序並嘗試通過設備的設置菜單管理應用程序(此步驟的具體細節因設備而異)。
- 當查看Api Demo的「應用程序信息」屏幕時,您應該看到禁用強制停止和卸載。
如何在我自己的應用程序中執行此操作?
評論DeviceAdminSample.java在API演示應用的靈感。你將需要:
下面的代碼是什麼帶來了激活屏幕:
// 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);
不過,也有一些其他的作品,你將需要得到這個工作:
- 從DeviceAdminReceiver派生的廣播接收器。
- 清單文件中涉及上述廣播接收器的條目。
- 清單中使用設備管理器API的權限。
- 一個xml文件,說明您的應用可以訪問哪些策略。
所有這些都可以在上面的鏈接中找到。祝你的客戶好運!
+0
這是非常有用的,而且工作。但是我們可以以某種方式禁用任務管理器嗎? – Ace
0
這可能是一個骯髒的方式來做到這一點。但它爲我工作。
只需覆蓋onDestroy()
方法並重新啓動該服務即可。
@Override
public void onDestroy() {
Intent intent = new Intent(this,YourService.class);
startService(intent);
}
的可能的複製[安卓:保持後臺服務還活着(防止處理死亡)(http://stackoverflow.com/questions/3856767/android-keeping-a-background-service-alive-preventing-過程死亡) –
我認爲應用程序有時甚至會被系統殺死..但是您可以運行服務背景,即使應用程序被殺死也可以工作。可以實施鬧鐘管理器,以便即使應用程序被殺或處於睡眠模式,任何特定的任務可以實施.. [http://stackoverflow.com/questions/4459058/alarm-manager-example] –
你能告訴我們爲什麼你想這樣做? –