banner
RustyNail

RustyNail

coder. 【blog】https://rustynail.me 【nostr】wss://ts.relays.world/ wss://relays.world/nostr

不被軽易に殺される

私は死にたくない#

image

Android 端のネットワークフローティングウィンドウを作成しましたが、システム(Android Oreo)によって頻繁にバックグラウンドで終了されます。

次のような方法をたくさん調べました:Android アプリを *** 流氓安全管家のように簡単に終了させない方法はありますか(

以下の作業を行いました:

サービスが終了するときに自分自身にブロードキャストを送信する#

 @Override
    public void onDestroy() {
        stopForeground(true);
        Intent intent = new Intent(getString(R.string.BACK_SERVICE_NAME));
        sendBroadcast(intent);
        super.onDestroy();
    }

public class ProtectBroadcast extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(context.getString(R.string.BACK_SERVICE_NAME))) {
            Toast.makeText(context, "Traffic Service Restarting..", Toast.LENGTH_SHORT).show();
            Intent intentStart = new Intent();
            intentStart.setClass(context, BackService.class);
            context.startService(intent);
        }
    }
}

しかし、何の効果もないようです。なぜなら、destroyメソッドさえ実行されないからです...

サービスの起動コマンド#

Stickyに変更

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

デーモンプロセスの開始#

2 つのサービスを開始し、お互いを起こす

Android 8.0 ではあまり効果がないようです...

最後に#

どうしようもない

アプリをシステムアプリに変換するためのソフトウェアをダウンロードしました...流氓ソフトウェアを作るのは結構難しいですね...

image

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。