安装未知开发者的应用后,前台服务会周期性地关闭且无法重启。
创始人
2024-09-01 06:30:14
0次

可能是由于后台限制导致前台服务关闭,可以添加一个监听器来监测前台服务是否已经被关闭,并在其关闭时重新启动。下面是一个示例代码:

public class MyService extends Service {
    private static final String TAG = "MyService";
    private static final int SERVICE_ID = 12345;
    private static final long INTERVAL = 60000; // 1 minute

    private boolean isServiceRunning = false;
    private Handler mHandler = new Handler();

    private Runnable task = new Runnable() {
        @Override
        public void run() {
            if (!isServiceRunning) {
                Log.d(TAG, "Service has been stopped. Restarting...");
                Intent serviceIntent = new Intent(getApplicationContext(), MyService.class);

                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    startForegroundService(serviceIntent);
                } else {
                    startService(serviceIntent);
                }
            }

            mHandler.postDelayed(this, INTERVAL);
        }
    };

    @Override
    public void onCreate() {
        super.onCreate();
        startForeground(SERVICE_ID, new Notification());
        mHandler.post(task);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        isServiceRunning = true;
        return START_STICKY;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        isServiceRunning = false;
        mHandler.removeCallbacks(task);
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
}

在 onCreate() 方法中,我们通过 startForeground() 方法来使服务成为前台服务,并传入一个空的 Notification 对象。在 onStartCommand() 方法中,我们将 isServiceRunning 设置为 true,以表示前台服务正在运行。在 onDestroy() 方法中,我们会将 isServiceRunning 设置为 false,表示前台服务已经停止。

最重要的是我们在 task 中添加了一个监听器来检测前台服务是否已经关闭。如果已经关闭了,我们就重新启动该服务。在此我们使用了 mHandler.postDelayed() 方法,以 1 分钟的间隔进行检测。注意需要在 onDestroy() 方法中删除这个监听器,以避免内存泄漏。

相关内容

热门资讯

实测交流!wepoker正确养... 实测交流!wepoker正确养号方法,德普之星透视神器脚本(原本真的有开挂)AI 智能体黑科技再上新...
一分钟揭秘!wpk透视插件,W... 一分钟揭秘!wpk透视插件,WPK开挂脚本下载(一向是真的有辅助器)AI 智能体黑科技再上新,自动化...
研究成果!wepoker开脚本... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker开脚本视频解析、 AI...
重大科普!wepoker私人局... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
每日必看推荐!wepoker私... 很多人使用云端 AI 时,都担心wepoker私人局怎么玩、内部资料上传带来隐私风险。这款本地运行的...
发现玩家!wpk刷入池率脚本,... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wpk刷入池率脚本解析、 AI 处理...
教程攻略!wepoker辅助软... 教程攻略!wepoker辅助软件价格,WPK有挂透视吗软件(原先存在有透视)AI 智能体黑科技再上新...
科技揭秘!德普之星辅助器app... 您好,科技揭秘!德普之星辅助器app,WPK哪里有挂工具(先前是真的有开挂)这款游戏可以开挂的,确实...
实测发现!wepoker有透视... 很多人使用云端 AI 时,都担心wepoker有透视功能吗、内部资料上传带来隐私风险。这款本地运行的...
存在挂教程!wpk辅助器是真的... wpk辅助器是真的吗AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据...