Xamarin रूपों में अलार्म प्रबंधक का प्रयोग अधिसूचना मैं एक dependencie 30 सेकंडअनुसूची के लिए एंड्रॉयड
के लिए सूचनाएं
मेरे DeviceDetails_Droid.cs में मैंने सेट सेट अलार्म को दिखाने के लिए बनाया है स्थानीय अधिसूचना के लिए कार्यक्षमता पूरी तरह से काम करती है जब ऐप सक्रिय होता है लेकिन जब मैंने ऐप (करीबी ऐप) को मार दिया तो अलार्म रिसीवर कॉल नहीं किया गया।
public void ShowNotification(string message, string title)
{
Intent alarmIntent = new Intent(Forms.Context, typeof(AlarmReceiver));
alarmIntent.PutExtra ("message", message);
alarmIntent.PutExtra ("title", title);
PendingIntent pendingIntent = PendingIntent.GetBroadcast(Forms.Context, 0, alarmIntent, PendingIntentFlags.UpdateCurrent);
AlarmManager alarmManager = (AlarmManager) Forms.Context.GetSystemService(Context.AlarmService);
//TODO: For demo set after 5 seconds.
alarmManager.Set(AlarmType.RtcWakeup, DateTime.Now.Millisecond + 30000, pendingIntent);
}
- Androids MainActivity में
[BroadcastReceiver]
public class AlarmReceiver : BroadcastReceiver
{
public override void OnReceive (Context context, Intent intent)
{
var message = intent.GetStringExtra ("message");
var title = intent.GetStringExtra ("title");
var notIntent = new Intent (context, typeof(MainActivity));
var contentIntent = PendingIntent.GetActivity (context, 0, notIntent, PendingIntentFlags.CancelCurrent);
var manager = NotificationManagerCompat.From (context);
var style = new NotificationCompat.BigTextStyle();
style.BigText(message);
//Generate a notification with just short text and small icon
var builder = new NotificationCompat.Builder (context)
.SetContentIntent (contentIntent)
.SetSmallIcon (Resource.Drawable.Icon)
.SetContentTitle (title)
.SetContentText (message)
.SetStyle (style)
.SetWhen (Java.Lang.JavaSystem.CurrentTimeMillis())
.SetAutoCancel (true);
var notification = builder.Build();
manager.Notify(0, notification);
}
}
- और मैनिफ़ेस्ट फ़ाइल में
<receiver
android:name=".AlarmReceiver"
android:enabled="true"
android:exported="true"
android:process=":remote"
android:label="AlarmReceiver">
- ऊपर कोड पूरी तरह से चल रहा है जब एप्लिकेशन राज्य चलाने में है लेकिन अधिसूचना वर्किंग जब एप्लिकेशन बंद हो नहीं है या मारे
आप पृष्ठभूमि सेवा को लागू करने के बाद एप्लिकेशन मारे गए या बंद कर दिया है कि यह काम करने की जरूरत है। इसे देखें: http://stackoverflow.com/a/34207954/6127411। –
मैनिफेस्ट में <रिसीवर एंड्रॉइड: नाम = "अलार्म रिसीवर" एंड्रॉइड: सक्षम = "सत्य" एंड्रॉइड: निर्यात किया गया = "सत्य" एंड्रॉइड: प्रक्रिया = ": रिमोट" एंड्रॉइड: लेबल = "अलार्म रिसीवर"> – user797725