0

AndroidManifest.xml Code :

<uses-sdk android:minSdkVersion="16" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">   </uses-permission>
<application android:label="TestingApp">

<receiver android:name=".BootCompleteReciever"
          android:enabled="true"
          android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
  <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>
</receiver>    
</application>

BootCompleteReciever Class :

[BroadcastReceiver(Enabled = true)]
[IntentFilter(new string[] { "android.intent.action.BOOT_COMPLETED" },    Priority = (int)IntentFilterPriority.LowPriority)]
public class BootCompleteReciever : BroadcastReceiver
{
    AlarmManager alarm_manager;
    TimePicker alarm_timepicker;
    Context _context;
    Calendar calndr = Calendar.GetInstance(Java.Util.TimeZone.Default);
    public override void OnReceive(Context context, Intent intent)
    {
    calndr.Set(Calendar.HourOfDay, Convert.ToDateTime(dst.Tables[0].Rows[0]              ["time1"].ToString()).Hour);
    calndr.Set(Calendar.Minute, Convert.ToDateTime(dst.Tables[0].Rows[0]                   ["time1"].ToString()).Minute);                             
    Pending Intent & Alaram Manager
    Intent myIntent;
    PendingIntent pendingIntent;
    myIntent = new Intent(_context, typeof(AlarmToastReceiver_AlaramStart));
    pendingIntent = PendingIntent.GetBroadcast(Application.Context, 0,       myIntent, PendingIntentFlags.UpdateCurrent);
     if (swt.Checked)
     {
      alarm_manager.SetRepeating(AlarmType.RtcWakeup, calndr.TimeInMillis,      AlarmManager.IntervalDay, pendingIntent);
     }
     else
      {
      alarm_manager.Set(AlarmType.RtcWakeup, calndr.TimeInMillis, pendingIntent);
       }
      }

AlarmToastReceiver_AlaramStart Class :

[BroadcastReceiver(Enabled =true)]
public class AlarmToastReceiver_AlaramStart : BroadcastReceiver
{
    public override void OnReceive(Context context, Intent intent)
    {
        //----------- Show Toast Massage -----------------------------
        Toast.MakeText(_context, "THIS IS MY ALARM", ToastLength.Long).Show();
    }
 }

When System Reeboot Or ShutDown , the BootCompleteReciever class doesn't fire and my Alaram is doesn't start after reebooting Or Shutdown, what issue i doesn't know . Can any one Help me.Tnx in advance.

  • https://stackoverflow.com/questions/36685890/schedule-notification-using-alarm-manager-in-xamarin-forms-for-android/36687464#36687464 – SushiHangover Mar 24 '18 at 10:28
  • Sir i change my code as above , according to your suggestion, but still not working,the BootCompleteReciever class doesn't execute after Reebooting. – Abdul Jalil Marwat Mar 24 '18 at 13:05

0 Answers0