Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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 未调用BroadcastReceiver onReceive_Android_Broadcastreceiver - Fatal编程技术网

Android 未调用BroadcastReceiver onReceive

Android 未调用BroadcastReceiver onReceive,android,broadcastreceiver,Android,Broadcastreceiver,我在AndroidManifest.xml中定义了一个BroadCastReceiver,如下所示 <receiver android:name="com.example.hello.ScreenUnlockReceiver" android:enabled="true" android:singleUser="true"> <intent-filter> <action android:name="android.conte

我在AndroidManifest.xml中定义了一个BroadCastReceiver,如下所示

<receiver
   android:name="com.example.hello.ScreenUnlockReceiver" 
   android:enabled="true" 
   android:singleUser="true">
   <intent-filter>
      <action android:name="android.content.Intent.ACTION_USER_PRESENT" />
   </intent-filter>
</receiver>
但是当我解锁屏幕时,broadcastreceiver没有被触发,并且LoginActivity没有被显示。LoginActivity是android sdk附带的默认LoginActivity

如果我在使用许可或其他方面遗漏了什么,请告诉我。 谢谢


桑托什

你应该像这样解决这个问题

i.setClassName(“com.example.hello”、“com.example.hello.LoginActivity”)
您必须拦截的操作是:

<intent-filter>
  <action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>


检查rciovati答案绝对正确谢谢您的快速回复。如上所述,我确实更改为android.intent.action.USER_PRESENT,然后设置类名,如下面的3h3所述。。。。但是,通过在屏幕上滑动解锁屏幕时,仍然没有启动LoginActivity。我会尝试调试并检查接收器是否正确调用。尝试检查Logcat,看看是否有什么东西可以帮助您解决问题。我做了您提到的更改,但在解锁屏幕后,LoginActivity屏幕没有显示。我试图在用户解锁平板电脑时向用户显示默认应用程序。如果你有任何建议,请告诉我。为此,在活动的onResume()中,添加如下代码:
final Window win=activity.getWindow();final WindowManager.LayoutParams params=win.getAttributes();params.flags |=WindowManager.LayoutParams.FLAG_锁定时显示
我建议您看看Android源代码,AlarmClock的实现,希望能对您有所帮助。我实际上是在模拟器上尝试,但它不起作用。在我的手机上尝试了同样的方法,并且效果良好。
<intent-filter>
  <action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>