【发布时间】:2020-12-30 19:01:36
【问题描述】:
我创建了一个 xamarin 应用程序,我想在推送通知文本显示给用户之前对其进行编辑。
我正在使用通知扩展服务和 OneSingal 库来获取通知。
using System;
using Android.App;
using Android.Content;
using Android.Preferences;
using Android.Support.V4.App;
using Com.OneSignal.Android;
using MyApp.Shared.Utility;
namespace MyApp.Droid
{
[Service(Permission = "android.permission.BIND_JOB_SERVICE")]
[IntentFilter(new String[] { "com.onesignal.NotificationExtender" })]
public class CustomNotificationExtenderService : NotificationExtenderService
{
private OSNotificationReceivedResult _result;
private NotificationManager notifyManager = Application.Context.GetSystemService(Context.NotificationService) as NotificationManager;
private NotificationCompat.Builder builder = new NotificationCompat.Builder(Application.Context, "1");
protected override void OnHandleIntent(Intent intent){ }
protected override bool OnNotificationProcessing(OSNotificationReceivedResult p0)
{
_result = p0;
var body = "New Encrypted Message";
NotificationCompat.Builder builder = new NotificationCompat.Builder(Application.Context, "1");
builder.SetSmallIcon(Resource.Drawable.Logo);
builder.SetStyle(new NotificationCompat.BigTextStyle().BigText(body));
builder.SetContentTitle("New Message");
builder.SetContentText(body);
// Build the notification and display it
notifyManager.Notify(1, builder.Build());
return false;
}
}
}
请注意,在上面的示例代码中,我省略了创建通知横幅中的文本的逻辑。我期待看到带有文本“新加密消息”的推送通知。但它显示了从服务器发送的实际消息。
感谢您的帮助
【问题讨论】:
-
这条线不工作吗? builder.SetContentTitle("新消息");你可以删除 builder.SetContentTitle("New Message");
-
它不起作用。它仍然显示来自服务器的消息
标签: android xamarin push-notification onesignal