2012-03-28 5 views
0

を見つけました。今テストのために私は、ログメッセージIntentServiceないが、私はLogCatでこの例外を取得しています

public class RegistrationService extends IntentService { 

    public RegistrationService(){ 
     super("NAME"); 
    } 
    public RegistrationService(String name) { 
     super(name); 

    } 

    @Override 
    protected void onHandleIntent(Intent intent) { 
     Log.d("RegistrationService", "onHandleIntent INVOKED"); 
     System.out.println(intent.getDataString()); 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     System.out.println(intent.getDataString()); 
     return super.onStartCommand(intent, flags, startId); 
    } 

} 

、この例外が生成されてなぜ私はこのよう

Intent serviceIntent = new Intent(context, RegistrationService.class); 
serviceIntent.putExtra("REG_ID", reg_Id); 
serviceIntent.putExtra("DEVICE ID", manager.getDeviceId()); 
context.startService(serviceIntent); 

BroadcastRecieverからこのサービスを始めていますを発行するのですか? Manifestでこれを宣言しなければなりませんか?

答えて

0

サービスがマニフェストファイル内に宣言する必要があります。アプリケーションがアプリケーションの名前空間にない場合でも、サービスを宣言する必要があります。たとえば、Urban Airship Pushサービスを使用する場合は、それを宣言する必要があります。

<service android:name="com.urbanairship.push.PushService" /> 
+0

私のサービスにはどのようなものがありますか? '<サービスアンドロイド:名=「com.thePackage.c2dm.RegistrationService」/>' – prometheuspk

+0

はい、名前は常に完全修飾Javaクラス名で、またはコンポーネントが独自のアプリケーションの名前空間の中に住んでいる場合は、名前(com.myappがあなたのアプリケーションの名前空間であれば '.services.MyService'は' com.myapp.services.MyService'に展開されます) – Matthias

+0

これは動作します。ありがとう。サービスとレシーバを初めて使用する – prometheuspk

関連する問題