Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';我们不能安排活动_Android_Alarmmanager - Fatal编程技术网

Android Can';我们不能安排活动

Android Can';我们不能安排活动,android,alarmmanager,Android,Alarmmanager,我读过AlarmManager,并决定制作一个简单的应用程序,它会在特定的时间向我发送通知,但我不明白哪里出了问题。这是我的密码: 主要活动: public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Calendar calendar = Calendar.

我读过AlarmManager,并决定制作一个简单的应用程序,它会在特定的时间向我发送通知,但我不明白哪里出了问题。这是我的密码:

主要活动:

public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, 23);
    calendar.set(Calendar.MINUTE, 20);
    calendar.set(Calendar.SECOND, 0);
    Intent myIntent = new Intent(MainActivity.this, AlarmReciever.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent,0);
    AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent);
}}
报警接收器:

public class AlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Intent service1 = new Intent(context, MyAlarmService.class);
    context.startService(service1);
}}
和MyAlarmService:

public class MyAlarmService extends Service {
private NotificationManager mManager;
@Override
public IBinder onBind(Intent arg0) {
    // TODO Auto-generated method stub
    return null;
}
@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    mManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Notification notification = new Notification.Builder(this)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle(getString(R.string.app_name))
            .setAutoCancel(true)
            .setPriority(Notification.PRIORITY_MAX)
            .setDefaults(Notification.DEFAULT_VIBRATE)
            .build();

    mManager.notify(1, notification);
    return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
}}
AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>


提前谢谢

public class AlarmReciever extends BroadcastReceiver
一定是

public class AlarmReciever extends WakefullBroadcastReceiver
然后在接收时调用
onReceive

Intent service1 = new Intent(context, MyAlarmService.class);
startWakefulService(service1);

乐意效劳。
Intent service1 = new Intent(context, MyAlarmService.class);
startWakefulService(service1);