Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否正在删除使用字符串标记和int-id的通知?_Android - Fatal编程技术网

Android 是否正在删除使用字符串标记和int-id的通知?

Android 是否正在删除使用字符串标记和int-id的通知?,android,Android,我想把通知放在通知栏里。这是一款多人游戏,我想在轮到用户移动时通知用户。他们可以一次参加多个游戏,如果是他们的行动,我会给每个游戏发送一个通知。每个游戏都有一个唯一的ID,所以我想发送如下通知: int TYPE_NOTIF_YOUR_TURN = 0; String gameId1 = "abc"; String gameId2 = "xyz"; mgr.notify(gameId1, TYPE_NOTIF_YOUR_TURN, notification); mgr.notify(gameI

我想把通知放在通知栏里。这是一款多人游戏,我想在轮到用户移动时通知用户。他们可以一次参加多个游戏,如果是他们的行动,我会给每个游戏发送一个通知。每个游戏都有一个唯一的ID,所以我想发送如下通知:

int TYPE_NOTIF_YOUR_TURN = 0;
String gameId1 = "abc";
String gameId2 = "xyz";

mgr.notify(gameId1, TYPE_NOTIF_YOUR_TURN, notification);
mgr.notify(gameId2, TYPE_NOTIF_YOUR_TURN, notification);
现在,如果我需要取消其中一个通知,我可以使用标签(在我的例子中是gameId)进行查找:

这就是它的工作原理吗


谢谢

是的,它就是这样工作的

不过,另一方面,我会让字符串标记成为你的应用程序包所独有的。例如

String gameId1 = "com.mycompany.mypackage.gameid.abc";
String gameId2 = "com.mycompany.mypackage.gameid.xyz";
这背后的原因是,在取消时,字符串和int必须匹配以标识要取消的通知。许多应用程序可能会使用int值1、2、3等。因此字符串标记越简单,另一个应用程序(使用简单标记)就越可能意外取消您的一个通知


一般来说,这似乎不太可能,但独特的标签将避免它。这似乎也是推荐的做法,尽管我没有详细研究过。

@user291701:没问题,很乐意提供帮助。标记只需要对您的包名唯一。当显示通知(并取消通知)时,使用的
标记和
id
组合需要在应用程序中唯一。<代码>标签<代码>也可以为NULL,考虑其他应用程序可能意外地取消其他通知是错误的。这里的文档:为什么我们使用
标记
,即使我们可以通过
id
使通知唯一?
String gameId1 = "com.mycompany.mypackage.gameid.abc";
String gameId2 = "com.mycompany.mypackage.gameid.xyz";