0

私はAndroidのスケジュールされたアプリケーションを実行しています.AlarmManagerを使用していますが、アラームが機能していません.ここに私のコードがあります:

マイアクティビティ:

    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR, 1);
    calendar.set(Calendar.SECOND, 44);
    calendar.set(Calendar.AM_PM, Calendar.PM);

    pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(this, MyBroadCastRcv.class), 0);
    getApplicationContext();
    AlarmManager alarmMngr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    alarmMngr.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);

MyBroadCastRcv クラス:

    public void onReceive(Context context, Intent intent)
{
    Intent serviceLauncher = new Intent(context, TimerService.class);
    context.startService(serviceLauncher);

}

私のサービス:

public int onStartCommand(Intent intent, int flags, int startId)
{
    super.onCreate();
MediaPlayer player = MediaPlayer.create(this, Uri.parse("file:///mnt/sdcard/sherif/001.mp3"));

    return super.onStartCommand(intent, flags, startId);
}

public void onStart(Intent intent, int startId)
{
    System.out.println("In onStart Service");
    super.onStart(intent, startId);
    player.start();
}

何か足りない?

4

1 に答える 1

1

まあ、あなたは絶対に電話super.onCreate()したくありませんonStartCommand(). それを削除します。

また、あなたonStart()は決して呼び出されません。このメソッドは非推奨です。すべてのコードを に入れる必要がありますonStartCommand()

于 2013-11-10T11:43:46.100 に答える