Przelałem przez kilkanaście samouczków i odpowiedzi na forum o tym problemie, ale nadal nie udało mi się uzyskać kodu działającego razem. Postaram się odpowiedzieć prosto:Jak rozpocząć działanie z Menedżerem alarmów w systemie Android?
W jaki sposób korzystasz z Menedżera alarmów (w Androidzie API), aby rozpocząć działanie w określonym czasie? Możliwe będzie rozwiązanie tego problemu.
Moja ostatnia próba osiągnięcia tego jest poniżej.
(Import pominięte. Spodziewam MyActivity rozpocząć po 3 sekundach program jest otwarty, który nie ma. Nie ma żadnych komunikatów o błędach mówić.)
public class AndroidTest2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context context = this;//.getApplicationContext();
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); // CORRECT
Intent intent = new Intent(context, myReceiver.class); // CORRECT
PendingIntent pending = PendingIntent.getBroadcast(context, 0, intent, 0); // CORRECT
manager.set(AlarmManager.RTC, System.currentTimeMillis() + 3000, pending); // CORRECT
setContentView(R.layout.main);
}
}
public class myReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Intent i=new Intent(context, myActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
public class myActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("", "Elusive success");
setContentView(R.layout.main);
}
}
Wszelkie porady będą mile widziane.
Uwaga: Mam myReceiver w manifeście już
Czy zarejestrowałeś odbiornik w swoim AndroidManifest? –
Przepraszam, powinienem był o tym wspomnieć. Z linią , tak, zrobiłem. Daj mi znać, jeśli to zła linia. –
BenLambell