Я не могу добавить Будильник для умышленной ошибки - PullRequest
0 голосов
/ 11 февраля 2019

Я бы создал будильник, я написал этот код, но вернул эту ошибку:

2019-02-05 10: 58: 13.902 2663-10077 / com.google.android.gms E/ ChromeSync: [Sync, SyncIntentOperation] Ошибка при обработке намерения: Intent {act = android.intent.action.PACKAGE_ADDED dat = package: com.example.iacopo.alarmgroup flg = 0x4000010 cmp = com.google.android.gms / .chimera.GmsIntentOperationService (имеет дополнительные функции)}.

Как это исправить?Благодарю.И этот код не создает значок будильника на панели уведомлений рядом с часами.

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Calendar cal = Calendar.getInstance();
        cal.setTimeInMillis(System.currentTimeMillis());
        cal.clear();
        cal.set(2018,1,5,10,0);

        AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
        this.startService(intent);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
        alarmMgr.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
    }
}

и приемник

public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("test","ok");
    }
}

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Это базовый фрагмент с сайта developer.android.com.Вы можете изменить дату и время в соответствии с вашими потребностями и передать экземпляр календаря в намерение Alarm Manager.

// Пример. Включение устройства для включения одноразового (неповторяющегося) будильника за одну минуту:

private AlarmManager alarmMgr;
private PendingIntent alarmIntent;

alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
    SystemClock.elapsedRealtime() +
    60 * 1000, alarmIntent);

// Example: Set the alarm to start at approximately 2:00 p.m. say
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 14);

// With setInexactRepeating(), you have to use one of the AlarmManager interval
// constants--in this case, AlarmManager.INTERVAL_DAY.
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
    AlarmManager.INTERVAL_DAY, alarmIntent);
0 голосов
/ 16 мая 2019
cal.set(2018,1,5,10,0);

Календарь берется раньше текущего времени, поэтому ваш будильник вряд ли сработает.Измените время правильно и попробуйте снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...