0

私はAndroid開発に不慣れです。私たちの要件は、Androidでバックグラウンドサービスを実行することです。これは殺せないか、タスクマネージャーからのKILLシグナルを処理することができます。

それを行う方法はありますか?

addShutdownHandlerについて聞いたことがありますが、ユーザーがそれを強制終了しても起動しません。

前もって感謝します

4

3 に答える 3

2

それを行う方法はありますか?

標準のC/C ++デーモンでコードを使用して独自のカスタムバージョンのAndroidを構築し、そのカスタマイズされたバージョンのAndroidを含むROMmodを配布するだけです。

通常のSDKアプリを作成しようとしている場合、ユーザーまたはAndroid自体は、理由を問わず、いつでもプロセスを削除できます。

于 2012-08-04T11:45:42.813 に答える
1

一般的に:不可能です。

このような要件を課そうとすると、不愉快に聞こえることを付け加えておきます。ユーザーがプロセスを強制終了できるのには理由があります。

于 2012-08-04T11:46:50.320 に答える
0

差出人man 7 signal

シグナルSIGKILLおよびSIGSTOPは、キャッチ、ブロック、または無視できません。

これは基本的にカーネルの設計によるものです。考えてみてください。プロセスがすべてのシグナルを無視できるとしたら、制御されずに暴走した場合、どのように停止しますか?いいえ、あなたがしなければならないことは、KILL信号が送信されていないことを確認することです。独自のユーザーIDでプログラムを実行すると、管理者権限を持つ人がシグナルを生成しない限り、これを達成できますが、この要件でさえ満たすことが事実上不可能な場合があります。設計上、システムは、ユーザーまたはシステム管理者が(何らかの理由で)プロセスを強制終了する可能性があるという理論に基づいて、プロセスを強制終了する基本的な機能を提供します。

于 2012-08-04T11:48:32.467 に答える