有什么方法可以阻止我的Android应用程序杀死?

时间:2016-09-29 06:46:47

标签: android ram

我想知道有什么方法可以阻止我的Android应用程序从任务管理器中查杀。无论是任何第三方应用,从ram经理或用户点击强制停止清除。我只是不想从后台杀死我的应用程序,它应该正在运行。

2 个答案:

答案 0 :(得分:1)

如何禁用“强制停止”按钮

简短回答:使用Device Administration API.

如何证明它有效?

是的,回到你的工作岗位。使用上面提供的API链接和Google sample collection中包含的 Api演示来确定如何将其集成到您的应用中。

  1. 构建演示并在您的设备上运行它。
  2. 选择API Demos->App->Device Admin->General->Enable admin.
  3. 一旦“设备管理API”提示您启用其屏幕,请选择“激活”。
  4. 退出应用并尝试通过设备的设置菜单管理应用(此步骤的具体信息因设备而异)。
  5. 查看Api Demo的“应用信息”屏幕时,您应该看到强制停止和卸载都被禁用。
  6. 如何在自己的应用中执行此操作?

    Api演示应用中查看 DeviceAdminSample.java 以获取灵感。您将需要以下内容:

    以下代码显示了激活屏幕:

       // 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文件,说明您的应用可以访问哪些政策。
    5. 所有这些都可以在上面的链接中找到。祝你的客户好运!

答案 1 :(得分:0)

这可能是一种肮脏的方式。但它对我有用。

只需覆盖服务中的onDestroy()方法,然后重新启动该服务。

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