0

以下に示すように、サービスを作成しました。

package com.example.timepass;

import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.os.Bundle;
import android.os.IBinder;
import android.widget.Toast;

public class alarm extends Service{


@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    Toast.makeText(this, "Entered in service", Toast.LENGTH_SHORT).show();

}

 public int onStartCommand(Intent intent, int flags, int startId) {

         Toast.makeText(this, "onStartCommand...", Toast.LENGTH_LONG).show();
         return 1; 

        // Log.i("YourService", "Yes this works.");
     }
   @Override
   public void onDestroy() {
       super.onDestroy();
       Toast.makeText(this, "Service destroyed...", Toast.LENGTH_LONG).show();
   }

@Override
public IBinder onBind(Intent arg0) {
    // TODO Auto-generated method stub
    Toast.makeText(this, "Changed", Toast.LENGTH_SHORT).show();
    return null;
}



}

次のコマンドで mainactivity からサービスを開始すると、次のようになります。

Intent myIntent = new Intent("com.example.timepass.ALARM");
MainActivity.this.startService(myIntent);

これにより、エラーは発生しませんが、Service クラスの TOAST は表示されません。

私のマニフェストは次のとおりです。

<service class=".alarm" android:name=".alarm" android:enabled="true">
  <intent-filter>
   <action android:value="com.example.timepass.ALARM"
               android:name=".alarm" />

       </intent-filter>
   </service>

私を導いてください!!!

4

1 に答える 1

1

おそらくあなたは を持ってservice in your manifestいないか、あなたのアクションに一致する を持っていません。LogCat を調べると、役立つ警告が表示されるはずです。

おそらく、次の方法でサービスを開始する必要があります。

startService(new Intent(this, alarm.class));
于 2012-12-06T19:45:23.437 に答える