mozhi jafr
mozhi jafr

Reputation: 77

setAlarmClock not work when set from reciever

In my code I have a broadcast reciever

     <receiver
        android:name=".alarm.AlarmReceiver"
        android:enabled="true"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.TIME_SET" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.BalDroid.YekNegah.alarm.dailyAction" 
        />
        </intent-filter>
    </receiver>     

I schedule alarm in this receiver in onReceive method

  PendingIntent pi = PendingIntent.getBroadcast(context, AlarmRow.getId(mycursor), i, PendingIntent.FLAG_UPDATE_CURRENT);
                if (Build.VERSION.SDK_INT >= 21) {

                    AlarmManager.AlarmClockInfo alarmInfo = new AlarmManager.AlarmClockInfo(
                            mycal.getTimeInMillis(),pi);
                   mgr.setAlarmClock(alarmInfo,pi);

                    // Create a Pending intent to show Alarm Details
                } 

although receiver run but alarm not trigger with mgr.setAlarmClock. But when I use mgr.setExactAndAllowWhileIdle alarm trigger

(because of setAlarmClock accuracy I have to use setAlarmClock in my code)

And when I schedule mgr.setAlarmClock from MainActivity (when start application manually) it works.
I cant find the solution!!.
(I don't know why is not work from receiver).

Upvotes: 0

Views: 742

Answers (1)

Hayk Kerobyan
Hayk Kerobyan

Reputation: 87

My app also called setAlarmClock on AlarmManager, however the event didn't trigger. The reason for me was the default restriction of background processes by the manufacturer(my phone is Xiaomi).

Go to Settings -> Your application and find background restriction options. Turn the restrictions off and setAlarmClock must work.

As a conclusion, the result depends on manufacturer's default settings.

Upvotes: 1

Related Questions