想问下现在阿里推送EMAS,app的角标问题怎么处理的?Android的角标显示。
阿里云推送EMAS提供了角标数字的设置方法供Android开发者使用,在推送通知时可以设置角标数字,具体步骤如下:
在推送消息的payload中设置badge字段,如下所示: { "aps": { "alert": "Hello World!", "sound": "default", "badge":1 } } 在Android客户端中处理角标数字的显示。具体实现可参考阿里云推送EMAS Android SDK文档中的角标(Badge)设置部分,首先需要在应用的MainActivity中注册角标广播接收器,在接收器中实现角标数字的设定和显示: public class MainActivity extends Activity { private static final String TAG = MainActivity.class.getSimpleName();
public static final String NOTIFICATION_RECEIVED_ACTION = "com.alibaba.push2.action.NOTIFICATION_RECEIVED"; public static final String EXTRA_NOTIFICATION_CONTENT = "com.alibaba.push2.NOTIFICATION_CONTENT";
private int badgeCount =0; private TextView badgeView;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
// 注册广播接收器 IntentFilter filter = new IntentFilter(); filter.addAction(NOTIFICATION_RECEIVED_ACTION); registerReceiver(notificationReceiver, filter);
// 初始化角标数字 badgeCount = PushServiceFactory.getCloudPushService().getBadgeNumber(); badgeView = (TextView) findViewById(R.id.badge_view); setBadge(badgeCount); }
/** * 角标广播接收器 */ private BroadcastReceiver notificationReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // 更新角标数字 badgeCount++; PushServiceFactory.getCloudPushService().setBadgeNumber(badgeCount); setBadge(badgeCount);
// 处理通知内容 String content = intent.getStringExtra(EXTRA_NOTIFICATION_CONTENT); Log.d(TAG, "Received notification content: " + content); } };
/** * 设置角标数字 */ private void setBadge(int count) { if (badgeView != null) { badgeView.setText(String.valueOf(count)); badgeView.setVisibility(count >0 ? View.VISIBLE : View.GONE); } }
@Override protected void onDestroy() { // 取消广播接收器的注册 unregisterReceiver(notificationReceiver); super.onDestroy(); } }
在接收到新的推送通知时,广播接收器会更新角标数字,并通过阿里云推送EMAS的CloudPushService.setBadgeNumber()方法将新的角标数字通知到服务端。同时,MainActivity中的setBadge()方法会更新显示角标数字的UI控件。需要注意的是,由于Android系统版本的差异,角标数字的显示方式也有所不同,具体实现可以根据不同的Android版本进行适配。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。