在我的应用程序中,我必须接收 USER_PRESENT 和 AIRPLANE_MODE 意图。但是每个意图都被广播了两次(有时是三次),这是我不想要的。我试图使用 SharedPreferences 解决这个问题,但我需要唯一地识别每个意图(如果有,则使用任何“id”或时间戳等)。
以下是我试图只允许一个 onReceive 调用的代码。
@Override
public void onReceive(Context context, Intent intent) {
final SharedPreferences instanceCount = context.getSharedPreferences("Instances",Context.MODE_WORLD_WRITEABLE);
SharedPreferences.Editor instance_editor = instanceCount.edit();
if(instanceCount.getBoolean("instance",true))
{
instance_editor.putBoolean("instance",false);
instance_editor.commit();
}
else
{
instance_editor.putBoolean("instance",true);
instance_editor.commit();
return;
}
.
.
.
.
}
任何人都可以帮助解决这个问题。谢谢你 :)