为 user_present 调用 BroadcastReceiver.onReceive 两次

use*_*108 5 android

我遇到了一个奇怪的(?)问题,我已经实现了BroadcastReceiverUSER_PRESENT它在我的平板电脑上工作正常,但在我的 Galaxy S 上,它被触发两次,有人可以在这里解释一下吗?

<receiver android:name="XYZBroadcastReceiver" >
   <intent-filter>                              
     <action android:name="android.intent.action.USER_PRESENT"/>                
  </intent-filter>              
</receiver>
Run Code Online (Sandbox Code Playgroud)

我在onReceive方法中有一个简单的语句,它打印了两次,在 logcat 中我也看到以下两次:

11-23 17:36:35.603: INFO/Launcher(2632): ACTION_USER_PRESENT
Run Code Online (Sandbox Code Playgroud)

小智 0

可能您已在设备中安装了该应用程序两次(广播接收器存在于两个不同的应用程序中)。

请验证并卸载所有测试应用程序。然后做测试,看看日志中是否打印了log语句。然后安装您的应用程序并看看会发生什么。

希望这可以帮助你。