我发现使用startForeground()时触发的通知没有出现在可穿戴设备中,
即。对于以下代码,
Intent notIntent = new Intent(this, MainActivity.class);
notIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendInt = PendingIntent.getActivity(this, 0,
notIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentIntent(pendInt)
.setSmallIcon(R.drawable.play)
.setTicker(songTitle)
.setContentTitle("Playing")
.setContentText(songTitle);
Notification not = builder.build();
startForeground(NOTIFY_ID, not);
但如果我重写这样的代码,
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentIntent(pendInt)
.setSmallIcon(R.drawable.play)
.setTicker(songTitle)
.setContentTitle("Playing")
.setContentText(songTitle);
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(MusicService.this);
notificationManager.notify(NOTIFY_ID, builder.build());
磨损开始显示它。
所以我的结论是startForeground()可能没有使用' Compat'要通知的通知管理器的版本。有没有什么方法可以使服务前置并使其生成的通知也显示在可穿戴设备上而不编写可穿戴应用程序?
PS我在谈论手持式应用程序而不是磨损应用程序,讨论的主题是从手持应用程序同步通知,该应用程序在手持应用程序的服务中使用startforeground()启动,以便与可穿戴设备自动同步。