1

私はmdmサーバー(モバイルデバイスマネージャー)とandroidアプリケーションを開発しました。2つのデバイスを接続できました。さらに、どのAndroidプラットフォームでも動作するAndroidアプリケーションを作成しました。今、私は自分の許可なしに閉じることができない方法でアンドロイドアプリケーションを管理しようとしています。つまり、アンドロイドアプリケーションは携帯電話の起動から自分自身を閉じるコマンドを送信するまで実行されます。

私はそれをどのように行うことができるかを管理していません。あなたが知っているなら、あなたはあなたの知識を共有できますか?

4

3 に答える 3

2

Android でアプリケーションを終わらせることは不可能です。

システムが現在のフォアグラウンド タスクにより多くのリソースを必要とするときはいつでも、バックグラウンド プロセスを強制終了して RAM と CPU を解放します。

ただし、次のいずれかを実行できます。

Service を使用して START_STICKY または START_REDELIVER_INTENT を返す

サービスの onStartCommand() で、START_STICKYまたはSTART_REDELIVER_INTENTを返します。

public int onStartCommand(Intent intent, int flags, int startId) {
   super.onStartCommand(intent, flags, startId);
   return START_STICKY;
}

GCM などのプッシュ通知サービスを使用して、必要な場合にのみアプリの起動をトリガーします

これは、アプリが必要でないときは実行されないため、バッテリー効率がはるかに高い方法です。GCMを統合することにより、Google が承認したすべての Android デバイス (Google Play が搭載されているもの) に既にインストールされている Google サービスを介してアプリにプッシュ通知を送信できます。デバイスが通知を受け取ると、デバイス上でアプリケーションを起動して通知し、起動します。

于 2013-01-14T09:54:57.937 に答える
2

不可能です。ユーザーがアプリケーションを強制終了するのを防ぐことはできません。(タスクキラーなど)

ただし、できることは、サービスを作成し、startService/stopService を介してサービスを開始/停止することです。そしてスティッキーにします。

Android は、リソースが不足しているときに Service を強制終了できます。STICKY は Service を再開させます。

于 2013-01-14T09:51:06.123 に答える
1

「予防は治療に勝る」というのはよく知られていることわざですが、これらの行で意味するのは、疑わしい命令を try 、 catch 、および finally ブロックで囲む必要があるということです。

予期しない欠陥またはエラーが発生しない限り、アプリケーションはそれ自体を閉じません。したがって、接続、デバイスの検索などの重要なプログラム命令が含まれていることを確認し、finaly ブロックで適切な命令を適用してください。あなたのプログラムは、あなたの要求に応じて機能します。ありがとう

于 2013-01-14T09:52:21.560 に答える