Java 寄存器报警接收器
我尝试在mainActivity中注册广播接收器(因为我必须有非静态接收器才能调用mainActivity的函数) 目前,接收者没有收到。。。。我该怎么办 mainActivity.javaJava 寄存器报警接收器,java,android,receiver,Java,Android,Receiver,我尝试在mainActivity中注册广播接收器(因为我必须有非静态接收器才能调用mainActivity的函数) 目前,接收者没有收到。。。。我该怎么办 mainActivity.java public class mainActivity { private BroadcastReceiver alarm; ... Intent startIntent = new Intent("WhatEverYouWant"); PendingIntent start
public class mainActivity
{
private BroadcastReceiver alarm;
...
Intent startIntent = new Intent("WhatEverYouWant");
PendingIntent startPIntent = PendingIntent.getBroadcast(this, 0, startIntent, 0);
AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + 10000, startPIntent);
IntentFilter filter = new IntentFilter();
filter.addCategory(Intent.CATEGORY_DEFAULT);
this.alarm = new AlarmReceiver();
registerReceiver(this.alarm, filter);
}
public class AlarmReceiver extends BroadcastReceiver
{
public AlarmReceiver ()
{
}
public void onReceive(Context context, Intent intent)
{
doRestartApp();
}
}
Intent必须与IntentFilter具有相同的名称。。。 现在它工作了
public class mainActivity
{
private BroadcastReceiver alarm;
...
Intent startIntent = new Intent("MESSAGE_PROCESSED");
PendingIntent startPIntent = PendingIntent.getBroadcast(this, 0, startIntent, 0);
AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + 10000, startPIntent);
IntentFilter filter = new IntentFilter("MESSAGE_PROCESSED");
filter.addCategory(Intent.CATEGORY_DEFAULT);
this.alarm = new AlarmReceiver();
registerReceiver(this.alarm, filter);
}
public class AlarmReceiver extends BroadcastReceiver
{
public AlarmReceiver ()
{
}
public void onReceive(Context context, Intent intent)
{
doRestartApp();
}
}