如何更改Android中的通知消息以进行本地化? 我只想更改从Urban AirShip获取的消息,然后才会显示在通知栏上?Android,Urban AirShip - 更改消息
回答
检查消息我找到了解决办法,它的种类一荤一,但知道对不对,我需要用这个。 刚刚从Urban AirShip收到通知后,我取消了所有通知,并通过更改后的信息发送了我自己的通知。
是的,您可以在收到Urban AirShip的消息后修改该消息,以便在应用程序中内部使用,但无法在通知栏中显示修改的消息。
您可以在IntentReceiver
public class IntentReceiver extends BroadcastReceiver {
private static final String logTag = "Hey";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(logTag, "Received intent: " + intent.toString());
String action = intent.getAction();
if (action.equals(PushManager.ACTION_PUSH_RECEIVED)) {
int id = intent.getIntExtra(PushManager.EXTRA_NOTIFICATION_ID, 0);
Log.v(logTag, "Received push notification. Alert: " + intent.getStringExtra(PushManager.EXTRA_ALERT)
+ ". Payload: " + intent.getStringExtra(PushManager.EXTRA_STRING_EXTRA) + ". NotificationID="+id);
//can get your message here
} else if (action.equals(PushManager.ACTION_NOTIFICATION_OPENED)) {
Log.v(logTag, "User clicked notification. Message: " + intent.getStringExtra(PushManager.EXTRA_ALERT)+ ".Payload:" + intent.getStringExtra("PushManager.EXTRA_STRING_EXTRA"));
Intent launch = new Intent(Intent.ACTION_MAIN);
UAirship.shared().getApplicationContext().startActivity(launch);
} else if (action.equals(PushManager.ACTION_REGISTRATION_FINISHED)) {
Log.i(logTag, "Registration complete. APID:" + intent.getStringExtra(PushManager.EXTRA_APID)
+ ". Valid: " + intent.getBooleanExtra(PushManager.EXTRA_REGISTRATION_VALID, false));
}
}
}
好的,如果我想以其他方式处理通知?只需按照我的方式做出反应,不要使用Urban AirShip的默认系统? – goodm 2012-02-20 11:41:34
看到你可以创建你自己的图标图像的自定义布局显示在通知栏上,请从Urban airship资源下载sdk示例代码,你可以看到有一个名为notification.xml的文件,可以用来显示在通知栏中。 ..你想要的其他东西...? – 2012-02-20 11:46:34
我需要对消息进行本地化,因此在它出现在通知栏上之前,我需要对其进行更改。 Urban AirShip我想只用于触发事件。 – goodm 2012-02-20 11:53:45
您可以使用此方法:PushManager.shared().setNotificationBuilder(null);
,并与Android通知从SDK
谢谢,我正在寻找一种方法来禁用默认通知 – Climbatize 2012-04-10 12:13:42
我读答案,并用组合式的解决方案上来发送自己的通知。
您想要禁用UrbanAirship的默认通知处理程序。如果你这样做,它不会生成并向你显示通知。
PushManager.shared().setNotificationBuilder(null);
(使用David T的建议)你想建立你自己的通知。这可以在您的
IntentReceiver
内完成。 This链接将做的伎俩。
希望这可以帮助别人。
请使用代码来禁用城市飞艇的通知,覆盖BasicPushNotificationBuilder:
BasicPushNotificationBuilder nb = new BasicPushNotificationBuilder() {
@Override
public Notification buildNotification(String alert,
Map<String, String> extras) {
return null;
}
};
// Disable notifications
PushManager.shared().setNotificationBuilder(nb);
- 1. iOS中的Urban Airship入门
- 2. (Urban airship)如何删除(或更新)之前的推送消息警报?
- 3. Urban Airship - 推送样品=> APID每次都是空的
- 4. 当用户点击Urban Airship通知时重新启动android应用程序
- 5. 如何根据Android中的Urban Airship Pushnotification的额外价值更改状态栏图标
- 6. Xamarin Forms iOS设备不会收到来自Urban Airship的推送
- 7. Urban Airship设置自定义下载目录
- 8. 如何在Phonegap项目中为Android安装新的Urban Airship推送库
- 9. Google App Engine(GAE),Urban Airship,Java,推送通知。示例代码?
- 10. 如何检查ios中是否有来自Urban Airship的通知?
- 11. 无法获取位置启用YES在Urban Airship
- 12. 正确使用Urban Airship的推送通知
- 13. Urban Airship“错误:找不到符号方法shared()”
- 14. 用于自动化测试的Urban Airship API?
- 15. 更改Android消息的文本
- 16. Android - 更改READ_PHONE_STATE权限请求消息
- 17. 推送通知到Passbook通过Urban Airship没有出现在设备上
- 18. 如何使用Urban Airship将推送通知发送到一台设备?
- 19. 改变ProgressDialog的消息android
- 20. 如何更改Assert.Fail消息
- 21. 更改消息进行
- 22. 更改消息名称
- 23. NumberFormatException消息不会更改?
- 24. 用jQuery更改jTicker消息
- 25. 更改消息 - 离子2
- 26. 适用于iOS的Urban Airship Rich推送通知,用户未注册
- 27. 您是否必须使用Urban Airship使用PhoneGap来构建推送通知?
- 28. 修改MediaWiki密码更改消息
- 29. 如何更改默认的p:dataTable空消息消息
- 30. jquery验证错误消息 - 更改消息的位置
你想修改从服务器传来的消息??? – 2012-02-20 11:13:18
是的,我只需要在通知方法显示之前更改消息。 – goodm 2012-02-20 11:23:45