Ich möchte diese Funktion in meiner App hinzufügen, in dem Benutzer Anwendungsstartzeit festlegen kann und zu diesem Zeitpunkt Anwendung gestartet werden. Wie kann ich Broadcast-Empfänger verwenden, um meine App zu benutzerspezifischen Zeiten zu öffnen. Ich bin mir nicht sicher, ob das bei Android möglich ist oder nicht? Wenn Sie eine Idee als bitte teilen haben. ist hier HauptaktivitätscodeSo starten Sie die Anwendung zu einer bestimmten Zeit
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv1=(ListView)findViewById(R.id.listView);
final ImageView splashImage = (ImageView) findViewById(R.id.imageView1);
splashImage.setBackgroundResource(R.layout.splash);
AnimationDrawable splashAnimation = (AnimationDrawable) splashImage.getBackground();
splashImage.onWindowFocusChanged(true);
splashAnimation.start();
AlarmManager am = (AlarmManager) getBaseContext().getSystemService(Context.ALARM_SERVICE);
Date futureDate = new Date(new Date().getTime() + 86400000);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 1);// start app in 1 min again
futureDate.setHours(0);
futureDate.setMinutes(0);
futureDate.setSeconds(20);
Intent intent = new Intent(getBaseContext(), MyAppReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(getBaseContext(), 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis() , sender);}}
und dies ist reciver Klassencode
class MyAppReciever extends BroadcastReceiver{ public void onReceive(Context context,Intent intent) {
startActivity(new Intent(context, Main_Activity.class));
}private void startActivity(Intent intent) {
// TODO Auto-generated method stub}}
ich diese Zeile hinzugefügt haben
<receiver android:process=":remote" android:name="MyAppReciever"></receiver>
jetzt Trigger meine Sendung zu manifestieren, aber ich habe diesen Fehler
10-02 17:56:27.735: E/AndroidRuntime(9020): java.lang.RuntimeException: Unable to instantiate receiver com.example.testgui.MyAppReciever: java.lang.IllegalAccessException: access to class not allowed
Danke
Bitte werfen Sie einen Blick auf mein Beispiel ... –
Versuchen Sie mit Datum futureDate = neues Datum (neues Date(). GetTime()); nate of Date futureDate = neues Datum (new Date(). getTime() + 86400000); –
Ich habe einige Änderungen in code..i anstelle von futureDate Ich benutze Kalenderobjekt für Trigger Broadcast in 1 min .. so nach 1 min habe ich Force close dialog ..bei "IllegalAccessException: Zugriff auf Klasse nicht erlaubt" –