が機能していません。私は自分のアプリを起動するときに私の放送受信機を起動する必要があるので、私はこれらのアクションを使用しています。しかし、アプリを起動したり再起動したりすると、受信機は動作していません。携帯電話を再起動したときにのみ機能します。私の情報源に何か間違っていますか?BroadcastReceiverは、私は、このブロードキャストレシーバを実装している
3
A
答えて
3
論理的には、起動/再起動後にアプリを初めて実行すると、PACKAGE_FIRST_LAUNCH
がブロードキャストされるようです。そして、あなたのアプリケーションアクティビティスタックが削除され、あなたのアプリケーションが(再起動のように)再開するためにクリックされた場合には、PACKAGE_RESTARTED
がブロードキャストされるべきです。
しかし、アプリを起動したとき(おそらく最初のアクティビティから)カスタムアクション文字列をブロードキャストすることで、これを簡単に達成できます。
5
FYI:PACKAGE_FIRST_LAUNCH
はです。は、アプリケーションをインストールするために使用したもの、つまりAndroidマーケットとなるほとんどのエンドユーザー向けにインストーラパッケージに送信されます。
編集:
ああ、および「PACKAGE_RESTARTED」のために、独自の<intent-filter>
にその1を抜け出すと、1つは、URIと明示的なスキームが付属していますので、
<data android:scheme="package"/>
を追加します。
0
マニフェスト:
...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></>
...
<receiver android:name=".AutoStart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
...
受信機:あなたはそれが動作しません低いAPIレベルを使用している場合
package YourPackage;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AutoStart extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
{
// Your code
}
}
}
0
意図android.intent.action.PACKAGE_FIRST_LAUNCH
は、AndroidのAPIレベル12で導入されます。それに応じてプロジェクト設定を変更してください。
関連する問題
- 1. Javaはここで私の "equals"実装と何をしていますか?
- 2. - SKProduct要求は、私はこのコードを実装しています
- 3. インポッシブル私はクラスのRunnableを実装しているSingleThreadExecutor
- 4. は、私が今度は私が指定したBroadcastReceiverサブタイプを実行しますAlarmManagerを経由して、アラームを、インストールするビューを作成しましたBroadcastReceiver
- 5. jQueryのアコーディオンは、私は、これはjQueryのアコーディオンの関数を作成実装しようとしている
- 6. 私たちはTimeSpanクラスのJavaを実装しています
- 7. このバケットソートの実装は何をしていますか?
- 8. 実装SSOは、私はチュートリアル以下SSOを実装しようとしているブランクビュー
- 9. WCFデータサービス、EDMXエンティティデータモデルは、Oracle 11のデータベースは、私は次のメソッドを実装WCFデータサービス実装していますIIS
- 10. MBProgresshudは、私はAppDelegateに私のアプリでMBProgresshudを実装しています
- 11. 応答スライダー - 私は私のテストサーバー上で応答スライダーを実装している
- 12. 私はReflection.Emit(TypeBuilder)を使用してこのパターンを実装しようとしているReflection.Emit
- 13. は、私は配列で、配列のリストを実装しているJavaの
- 14. 私は、実装クラス
- 15. 実装私はデザインの質問を持っている
- 16. は、私はこのチュートリアルからコードを実装しようとしているJSFページ
- 17. は、私はTheanoに次の関数を実装していると仮定
- 18. ポーリングが、私はJavaを使用して、チャットサービスやデスクトップクライアントを実装している
- 19. 断片アンドロイド私はアンドロイドでフラグメントを実装しています
- 20. 私はこのCのコードを実装する場合は、このコード
- 21. ストライプフレームワークを使用して "このコンピュータで私を覚えている"を安全に実装する方法は?
- 22. 実装テーブルルックアップベースの三角関数、私は私の暇な時に実装していますビデオゲームのために
- 23. PHPのシンプルなラインは、私はWordpressのにこのコードを実装しようとしていますWordpressの
- 24. はActiveRecordのは、私はこれでTwitter/FacebookのOAuthのログインを実装しています
- 25. PreferenceActivityとBroadcastReceiver - 動的な設定を実装する
- 26. Spring MVCの3.1 RedirectAttributesは私がRedirectAttributesを実装しようとしている
- 27. 私はこのコードの通知を作成しようとしましたBroadcastReceiver
- 28. はZend_Controller_Router_Interfaceを実装しています
- 29. このQuickSort実装で何が問題になっていますか?私は、次のしている
- 30. jQueryのフォントサイズチェンジャーは、私がこのjQueryのフォントサイズチェンジャーを実装しようとしている理想の
一般的には、文字列定数を使用するのは良いことです。インテントアクション文字列の場合は、あなた自身で行う必要はありません。これらの文字列はすべて、アンドロイドフレームワーク内で独自の定数を持ち、ほとんどがIntentクラスに属します。例えば。 ['Intent.ACTION_BOOT_COMPLETED'](http://developer.android.com/reference/android/content/Intent.html#ACTION_BOOT_COMPLETED)を参照してください。むしろこれらを使用し、自分で定義するときに時折の誤植による混乱を避けます。 ;) –