我收到了自定义状态栏通知。有一个" Play"和"下一步"图像就可以了。 我想在"播放"时将广播意图发送到服务。或" next"图像被按下了。
notification = new Notification(R.drawable.ic_launcher, title + "\n"
+ text, System.currentTimeMillis());
contentIntent = PendingIntent.getActivity(context, 0, actionOnClick, 0);
notification.contentIntent = contentIntent;
contentView = new RemoteViews(context.getPackageName(),
R.layout.custom_player_notification);
contentView.setTextViewText(R.id.custom_player_notification_title,
title);
contentView.setTextViewText(R.id.custom_player_notification_text, text);
notification.contentView = contentView;
这是代码。 ContentView提供了设置" setOnClickPendingIntent"的可能性。和" setOnClickFillInIntent"。如何使用它们发送此广播? 我想发送广播,因为我不想发起活动。
答案 0 :(得分:0)
我想在按下“播放”或“下一张”图像时向服务发送广播意图
我建议您通过startService()
而不是广播发送命令。
如何使用它们发送此广播?
您可以尝试拨打setOnClickPendingIntent()
,通过PendingIntent
上的静态getBroadcast()
方法(广播)或PendingIntent
提供您创建的getService()
要通过startService()
发送的命令。
请记住,这些都不适用于目前大多数Android设备。我认为button-in - Notifications
可以在Android 4.0上运行,也许是3.0,但绝对不是在此之前。
答案 1 :(得分:0)
您可以在通知的onClick()方法中添加与此相似的内容,并将其指向广播接收器。
Intent intent = new Intent(this, receiver.class);
intent.putExtra("SomeInfoMaybe", info);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), 234324243, intent, PendingIntent.FLAG_CANCEL_CURRENT);
然后处理下一阶段的代码可以放在这里:
公共类接收器扩展了BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
System.out.println("SomeInfoMaybe = " + bundle.getString("info"));
//etc...
}
}
调用.notify();您的通知应该有助于链接到广播接收器