2017-06-25 9 views
1

私はあなたが眠った後でSpotifyをシャットダウンして音楽をオフにするAndroidアプリを作成しようとしています。Androidスタジオ:別のアプリからバックグラウンドで実行中のアプリを制御できますか?

ユーザーは、アプリを実行しておく期間を選択できます。私の質問は、私は現在のアプリケーションからバックグラウンドアプリを殺すことができますです。

私はAndroidスタジオの開発者のウェブサイトとGoogleを見てみましたが、私が探していた答えが見つかりませんでした。ありがとうございました。

答えて

0

サービスはアプリケーションプロセスで実行されます。あなたのアプリがガベージコレクションされている場合、サービスは停止するまで:

マニフェストファイル宣言 を使って新しいプロセスでサービスを開始すると、サービスがスティッキー(推奨)になります。 2つ以上の説明を読んでください。

Serviceの公式文書が表示されている場合、Googleはサービスがいつ、いつ、いつ、なぜ破壊されるのかを明確に説明しています。あなたのシナリオで有用です:

Aサービスは、システムが それは、ユーザーが積極的に認識している何かであると考えてフォアグラウンド状態でサービスを置くことstartForeground(int型、通知)API を使用することができます開始したがって、メモリが不足している場合は、殺し候補者は ではありません。 (これは、現在のフォアグラウンドアプリケーションから極端なメモリ圧力 の下で殺さするサービスのために、理論的には可能 であるが、実際には、これは 懸念すべきではない。)startForegroundを使用して

は、あなたのサービスが実行し続けることを確認します同じプロセスでいくつかのポインタ:

メモリが少ないシナリオでも、クライアントが接続されたサービスは破棄されません。 プロセスに関係なく、メモリ不足のシナリオでサービスが強制終了されます。異なるプロセスで実行する方が優れていますが、システムによって破壊されないことは保証されません。 system.exit(0)を使用してアプリケーションを終了しないでください。アクティビティのfinish()を呼び出します。 スティッキサービスを開始すると、メモリが解放されたときにサービスが再開されます。

願っています!

+0

情報をいただき、ありがとうございます。あなたの助けに感謝 :) –

関連する問題