Android 接收广播意图时出错。日食泛美卫生组织

Android 接收广播意图时出错。日食泛美卫生组织,android,android-studio,mqtt,iot,paho,Android,Android Studio,Mqtt,Iot,Paho,我正在尝试使用EclipsePAHO库为我的物联网项目设计的android应用程序。Android应用程序只是将陀螺仪和加速计数据发送到iot.eclipse.org上的代理。 我使用以下代码与MQTT服务器建立连接。 `公共无效MQTTConnection(){ 问题是应用程序从未建立连接。 我在logcat中得到以下错误 05-24 12:48:20.772 10236-10236/iot.dulanga.com.androidclientv2 E/AndroidRuntime: FATAL

我正在尝试使用EclipsePAHO库为我的物联网项目设计的android应用程序。Android应用程序只是将陀螺仪和加速计数据发送到iot.eclipse.org上的代理。 我使用以下代码与MQTT服务器建立连接。 `公共无效MQTTConnection(){

问题是应用程序从未建立连接。 我在logcat中得到以下错误

05-24 12:48:20.772 10236-10236/iot.dulanga.com.androidclientv2 E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000010 (has extras) } in org.eclipse.paho.android.service.MqttService$NetworkConnectionIntentReceiver@41fc9348
   at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
   at android.os.Handler.handleCallback(Handler.java:605)
   at android.os.Handler.dispatchMessage(Handler.java:92)
   at android.os.Looper.loop(Looper.java:137)
   at android.app.ActivityThread.main(ActivityThread.java:4573)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:511)
android.permission.WAKE_LOCK
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
   at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.SecurityException: Neither user 10121 nor current process has android.permission.WAKE_LOCK.
   at android.os.Parcel.readException(Parcel.java:1327)
   at android.os.Parcel.readException(Parcel.java:1281)
   at android.os.IPowerManager$Stub$Proxy.acquireWakeLock(IPowerManager.java:432)
   at android.os.PowerManager$WakeLock.acquireLocked(PowerManager.java:295)
   at android.os.PowerManager$WakeLock.acquire(PowerManager.java:264)
   at org.eclipse.paho.android.service.MqttService$NetworkConnectionIntentReceiver.onReceive(MqttService.java:794)
   at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
   at android.os.Handler.handleCallback(Handler.java:605) 
   at android.os.Handler.dispatchMessage(Handler.java:92) 
   at android.os.Looper.loop(Looper.java:137) 
   at android.app.ActivityThread.main(ActivityThread.java:4573) 
   at java.lang.reflect.Method.invokeNative(Native Method) 
   at java.lang.reflect.Method.invoke(Method.java:511) 
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788) 
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) 
   at dalvik.system.NativeStart.main(Native Method)
AndroidManifest

`


`


任何人都可以帮我解决代码的问题。非常感谢!!

异常的关键部分在中间:

Caused by: java.lang.SecurityException: Neither user 10121 nor current process has android.permission.WAKE_LOCK.
确保已将所需部分添加到应用程序清单中

<uses-permission android:name="android.permission.WAKE_LOCK" />

在我的情况下,我忘了在清单中添加以下两行:

<uses-permission android:name="android.permission.WAKE_LOCK" />

当然,您还需要添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

在应用范围中添加以下行:

<service android:name="org.eclipse.paho.android.service.MqttService" />


先生,非常感谢您的回答。我已经在清单中添加了该权限。但是我仍然会收到相同的错误。如果您在正确的位置添加了该权限,那么异常应该已经更改。没有,先生,我仍然会收到相同的异常。我已经编辑了该问题。我还包括了清单。如果您能够帮助,我将不胜感激请帮我讲完。非常感谢。有人解决了这个问题吗?我就是用安卓8解决的
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<service android:name="org.eclipse.paho.android.service.MqttService" />