Comment voulez-vous démarrer une Activité avec AlarmManager dans Android?

J'ai versé à travers une dizaine de tutoriels et forum des réponses à propos de ce problème, mais n'ont pas encore été en mesure d'obtenir certains code de travail ensemble. Je vais essayer de garder la question simple:

Comment utilisez-vous AlarmManager (dans l'API Android) pour démarrer une Activité à un moment donné? Une solution à ce problème fera l'affaire.

De ma dernière tentative de parvenir à ce qui est ci-dessous.

(Importations omis. J'attends MyActivity pour démarrer 3 secondes après l'ouverture du programme, il n'est pas. Il n'y a pas de messages d'erreur à proprement parler.)

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);
    }
}

Tout conseil serait apprécié.

Veuillez noter: j'ai myReceiver dans le manifeste déjà

Avez-vous inscrire le récepteur dans votre AndroidManifest?
Désolé, devrait avoir mentionné que. Avec la ligne <receiver android:name=".myReceiver"></récepteur>, oui je l'ai fait. Permettez-moi de savoir si c'est une mauvaise ligne de.

OriginalL'auteur BenLambell | 2011-08-13