このチュートリアルはandroid-erからのものです。メインアクティビティ(AndroidScheduledActivity.java)は、AlarmManagerを起動して、BroadcastReceiver(MyScheduledReceiver.java)を繰り返しトリガーします。MyScheduledReceiverのonReceive()メソッドでは、別のアクティビティ(MyScheduledActivity.java)を間接的に開始します。アクティビティ(MyScheduledActivity.java)がスケジュールされた間隔で開始されるようにします。これで、AutoStartを使用して自動的に起動しましたが、AutoStartNotifyReceiverを作成できませんでした。それを管理する方法を教えてください。どうもありがとう !
メインアクティビティ、AndroidScheduledActivity.java:
public class AndroidScheduledActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonStart = (Button)findViewById(R.id.start);
buttonStart.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
Intent myIntent = new Intent(getBaseContext(),
MyScheduledReceiver.class);
PendingIntent pendingIntent
= PendingIntent.getBroadcast(getBaseContext(),
0, myIntent, 0);
AlarmManager alarmManager
= (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
long interval = 60 * 1000; //
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), interval, pendingIntent);
finish();
}});
}
}
次に、BroadcastReceiver、MyScheduledReceiver.java
public class MyScheduledReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Intent scheduledIntent = new Intent(context, MyScheduledActivity.class);
scheduledIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(scheduledIntent);
}
}
そして私の問題AutoStartNotifyReceiver:
public class AutoStartNotifyReceiver extends BroadcastReceiver {
private final String BOOT_COMPLETED_ACTION = "android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(BOOT_COMPLETED_ACTION)){
????????????????????
}
}
}