Quiero agregar esta función en mi aplicación en la que el usuario puede configurar la hora de inicio de la aplicación y en ese momento la aplicación puede comenzar. ¿Cómo puedo usar el receptor de difusión para abrir mi aplicación en el momento específico del usuario? No estoy seguro de que esto sea posible en Android o no? si tiene alguna idea que compartir. Aquí es código de actividad principalCómo iniciar la aplicación en un momento determinado
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);}}
y este es el código de clase reciver
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}}
He añadido esta línea de manifestar
<receiver android:process=":remote" android:name="MyAppReciever"></receiver>
ahora mi emisión gatillo pero me dio este error
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
Gracias
Por favor, eche un vistazo a mi ejemplo ... –
Try with Date futureDate = new Date (new Date(). GetTime()); en lugar de Date futureDate = new Date (new Date(). getTime() + 86400000); –
Hice algunos cambios en el código..i en lugar de futureDate estoy usando el objeto de calendario para la emisión de activadores en 1 minuto ... así que después de 1 min obtuve forzar cierre de diálogo ..por causa de "IllegalAccessException: acceso a la clase no permitida" –