我似乎无法创建Android Wear通知,更新时不会闪烁应用程序图标,而相同的代码在Android手机上正常工作.
大多数引用的解决方案都涉及更新相同的通知,使用setAlertOnlyOnce,保留ID或何时相同.但是,无论我做什么,每次更新通知时它都会闪烁(最常见的是应用程序图标).
正如这里所建议的那样Android Wear:像穿戴设备上的通知卡一样,你可以使用setHintHideIcon(true)隐藏应用程序图标,隐藏闪烁的部分,但是在Android Wear Notifications的有限世界中,应用程序图标在应用程序的品牌.
如果你想要一个计时器,你可以使用.setUsesChronometer(true)让系统更新完美的计时器.不幸的是,如果你想更新别的东西而不是时间(比如收到的步骤或消息数),我觉得你运气不好.
您可以在下面找到在作为手机应用程序运行时正常运行的代码,但在作为可穿戴应用程序运行时会闪烁.
下面的注释行显示通知仍然闪烁(当在磨损时运行时,而不是电话),当在可穿戴设备上发布未更改的通知时,通知仍然闪烁.取消注释以再次更新通知.
mNotification = buildNotification(WearMainActivity.this);
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是,如果有人有任何进一步的想法,我们可以探索以防止通知闪烁或我们是否可以将其写为Android Wear漏洞?
public class WearMainActivity extends Activity {
public final int NOTIFICATION_ID= 1;
public Notification mNotification;
public int count;
public long when;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
count = 0;
when = System.currentTimeMillis();
mNotification = buildNotification(WearMainActivity.this);
postDelayedHandler();
finish();
}
private void postDelayedHandler(){
new Handler().postDelayed(new Runnable() {
public void run() {
count++;
mNotification = …Run Code Online (Sandbox Code Playgroud) 我有一个无线连接到其他设备的服务.启用该服务后,我会持续发出通知,说明它已启用.
启用该服务后,用户将连接到另一台设备.此时,我想更新我正在进行的通知,以说明已连接的设备的名称.通过startForeground(ONGOING_NOTIFICATION, notification)使用更新的信息再次呼叫,这很容易做到; 但每次调用时,它会在条形图上闪烁通知.我真正想要的是通知在后台静默更新而不会在通知栏上闪烁,因此用户在打开通知区域之前不会知道区别.
有没有在没有调用的情况下更新通知startForeground()?
此行为仅发生在Honeycomb中.姜饼设备(我假设Froyo等)表现出理想的方式.