2012-03-21 6 views
0

で実行されていません:スタートアップブロードキャストレシーバは、私はクラスStartupReceiver持つスタートアップ

public class StartupReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    Intent service = new Intent(context, ARMRService.class); 
    context.startService(service); 
} 

をし、それが

<receiver android:name=".StartupReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

として私たManifest.xmlに宣言されていると私は正しい権限を与えている:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

なぜこれが機能しないのですか?

+0

パッケージ内のStartupReceiverは、アプリケーションまたは別のパッケージに定義されていますか? – iago

+0

それはうまくいくようですが、そのサービスの問題だけではないと確信していますか? BroadcastReceiverでログラインやトーストを追加しようとしましたか? – kabuko

+0

はい、同じパッケージ内の同じアプリケーションで定義されています。 – comead

答えて

0

コードはよく見えます。 onReceive()にいくつかのログを追加し、それが起動時に呼び出されるかどうかを確認できますか?開始される予定のサービスにはいくつかの問題があります。

+0

しました。デバッガがまだ接続されていないので、LogCatにログが記録されない可能性がありますか? – comead

+0

Logcatは電話機の起動時に接続されます。 DDMSの電話ブートログを取得しないでください。理想的には利用可能であるべきです。デバッグ目的のために、サービスをダミーサービスに置き換えてみませんか? – prijupaul

+0

サービスではなく、ボタンをクリックして起動すると完全に動作するからです。 – comead

関連する問題