2012-03-21 7 views

答えて

1

以下のようなアラームマネージャーを試しました。

AlarmReceiver.class ...私は8 AMを開始したい...しかし、それは8 AM..Butすべてのトーストメッセージが表示上のアプリケーションを起動していなかった

public class AlarmReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    Toast.makeText(context, "Alarm Receiver", Toast.LENGTH_LONG).show(); 
    AlarmManager alarm=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
    Intent i = new Intent(context, MyService.class); 

    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, i, 0); 
    Calendar time = Calendar.getInstance(); 
    //time.setTimeInMillis(System.currentTimeMillis()); 
    time.add(Calendar.MINUTE, 8); 
    time.add(Calendar.HOUR, 0); 
    time.add(Calendar.SECOND, 0); 
    Toast.makeText(context, "App will start shortly", Toast.LENGTH_LONG).show(); 
    Toast.makeText(context, time.toString(), Toast.LENGTH_LONG).show(); 
    alarm.set(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(), pendingIntent); 
} 
} 

Manifestfile:

</application> 
<receiver android:name="AlarmReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      </intent-filter> 
     </receiver> 
</application> 
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 
     <uses-permission android:name="android.permission.SET_TIME"/> 
1

この目的でAlarmManagerクラスを使用する必要があります。繰り返すアラームであなたの活動/サービスを登録するだけです。アラームを開始します。

関連する問題