答:
就是使用的最新的DEMO,
// Push: 以apikey的方式登录,一般放在主Activity的onCreate中。
// 这里把apikey存放于manifest文件中,只是一种存放方式,
// 您可以用自定义常量等其它方式实现,来替换参数中的Utils.getMetaValue(PushDemoActivity.this,
// "api_key")
PushManager.startWork(getApplicationContext(),
PushConstants.LOGIN_TYPE_API_KEY,
Utils.getMetaValue(PushDemoActivity.this, "api_key"));
// Push: 如果想基于地理位置推送,可以打开支持地理位置的推送的开关
// PushManager.enableLbs(getApplicationContext());
// Push: 设置自定义的通知样式,具体API介绍见用户手册,如果想使用系统默认的可以不加这段代码
// 请在通知推送界面中,高级设置->通知栏样式->自定义样式,选中并且填写值:1,
// 与下方代码中 PushManager.setNotificationBuilder(this, 1, cBuilder)中的第二个参数对应
CustomPushNotificationBuilder cBuilder = new CustomPushNotificationBuilder(
resource.getIdentifier("notification_custom_builder", "layout",
pkgName), resource.getIdentifier("notification_icon",
"id", pkgName), resource.getIdentifier(
"notification_title", "id", pkgName),
resource.getIdentifier("notification_text", "id", pkgName));
cBuilder.setNotificationFlags(Notification.FLAG_AUTO_CANCEL|Notification.FLAG_ONGOING_EVENT);
// cBuilder.setNotificationDefaults(Notification.DEFAULT_SOUND);
cBuilder.setStatusbarIcon(this.getApplicationInfo().icon);
cBuilder.setLayoutDrawable(resource.getIdentifier(
"simple_notification_icon", "drawable", pkgName));
Log.i("TAG", Uri.parse("android.resource://" + getPackageName() + "/" +R.raw.sound).toString());
// cBuilder.setNotificationSound(Uri.parse("android.resource://" + getPackageName() + "/" +R.raw.sound).toString());
cBuilder.setNotificationSound(Uri.withAppendedPath(
Audio.Media.INTERNAL_CONTENT_URI, "6").toString());
PushManager.setNotificationBuilder(this, 9, cBuilder);
用DEMO中默认的方式,也没有声音