1

我遇到了一个障碍,启动后我无法正确设置警报。

public void onReceive(Context context, Intent intent) {

    if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
        if(fm.getAlarmBool()){
            time = fm.getAlarmTimeLong();
            reminder.startAlarm(time);
        }
    }

这是我想在它启动后运行的方法。我在 android 清单中添加了权限,但我无法让它工作。怎么了?

4

1 回答 1

0

你应该这样做

public class BootReceiver extends BroadcastReceiver {

Context context;
 @Override
 public void onReceive(Context context, Intent intent) {         
     context.startService(new Intent(context, NotificationService.class));      
 }  

}

在清单中

<receiver  android:process=":remote" android:name="BootReceiver">    
         <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>    
    </receiver>

因此,在您的服务中收集所有提醒并重新安排它们。为此,您可以将其存储在共享首选项或数据库中以进行持久存储

于 2012-05-09T13:17:39.223 回答