【发布时间】:2014-11-01 14:35:57
【问题描述】:
我正在更改现有应用程序以使用 MediaStyle 通知在 Android 5.0 中提供锁屏音乐信息和传输控件。但是,更新此类通知似乎没有按预期工作。以下代码 sn-p 每次按下按钮时都会生成通知,并增加通知标题中显示的计数器:
public class MainActivity extends Activity {
private int serial;
private TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView)findViewById(R.id.textView1);
}
public void buttonClick(final View view) {
final Notification.Builder builder = new Notification.Builder(this)
.setContentTitle("Title " + serial)
.setContentText("Text")
.setContentInfo("Info")
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher))
.setOngoing(true)
.setStyle(new Notification.MediaStyle())
.setVisibility(Notification.VISIBILITY_PUBLIC);
NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE );
nm.notify(1, builder.build());
text.setText("Serial = " + serial);
serial++;
}
}
问题是:
- 在运行 5.0 的模拟器中执行时,通知抽屉或锁屏中的通知文本与 TextView 中显示的序列号不同步。如果 MediaStyle未设置,通知在通知抽屉中的编号正确,但在锁定屏幕中没有。
- MediaStyle 通知在锁定屏幕中正确显示,直到它第一次在通知抽屉中查看。之后,它不再在锁定屏幕中显示为 MediaStyle 通知(但不完全像标准的非 MediaStyle 通知)。值得注意的是,使用
addAction()添加的按钮将不再显示,直到模拟器重新启动。
所以我怀疑我做错了什么(要么是那个,要么是模拟器上运行的 Android 映像坏了,但这似乎不太可能)。有什么想法吗?
【问题讨论】:
标签: android android-notifications android-5.0-lollipop