android - 尝试获取电池电量时出现安全异常

标签 android battery receiver

当尝试接收电池电量时,我得到一个 securityException。

代码:

Intent batteryIntent = m_Context.getApplicationContext().registerReceiver(null, new             IntentFilter(Intent.ACTION_BATTERY_CHANGED));
        m_iRawLevel = batteryIntent.getIntExtra("level", -1);
        m_dScale = batteryIntent.getIntExtra("scale", -1);
        m_dLevel = -1;
        m_strLevel = "-1";

异常(exception):

05-26 13:52:36.867: W/System.err(5960): java.lang.SecurityException: Unable to find app for caller android.app.ApplicationThreadProxy@421f7398 (pid=5960) when registering receiver null
05-26 13:52:36.867: W/System.err(5960):     at android.os.Parcel.readException(Parcel.java:1327)
05-26 13:52:36.872: W/System.err(5960):     at android.os.Parcel.readException(Parcel.java:1281)
05-26 13:52:36.872: W/System.err(5960):     at android.app.ActivityManagerProxy.registerReceiver(ActivityManagerNative.java:1880)
05-26 13:52:36.872: W/System.err(5960):     at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1130)
05-26 13:52:36.872: W/System.err(5960):     at android.app.ContextImpl.registerReceiver(ContextImpl.java:1105)
05-26 13:52:36.877: W/System.err(5960):     at android.app.ContextImpl.registerReceiver(ContextImpl.java:1099)
05-26 13:52:36.877: W/System.err(5960):     at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:348)
05-26 13:52:36.877: W/System.err(5960):     at com.uiu.bridgeservice.DeviceStatus.GetBatteryLevel(DeviceStatus.java:271)
05-26 13:52:36.877: W/System.err(5960):     at com.uiu.bridgeservice.BridgeManager.isBatteryStatusOK(BridgeManager.java:3412)
05-26 13:52:36.882: W/System.err(5960):     at com.uiu.bridgeservice.BridgeManager.isItPossibleToUpdate(BridgeManager.java:3806)
05-26 13:52:36.882: W/System.err(5960):     at com.uiu.bridgeservice.BridgeManager$4$1.handleMessage(BridgeManager.java:2136)
05-26 13:52:36.882: W/System.err(5960):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-26 13:52:36.882: W/System.err(5960):     at android.os.Looper.loop(Looper.java:137)
05-26 13:52:36.887: W/System.err(5960):     at android.app.ActivityThread.main(ActivityThread.java:4511)
05-26 13:52:36.887: W/System.err(5960):     at java.lang.reflect.Method.invokeNative(Native Method)
05-26 13:52:36.887: W/System.err(5960):     at java.lang.reflect.Method.invoke(Method.java:511)
05-26 13:52:36.887: W/System.err(5960):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
05-26 13:52:36.892: W/System.err(5960):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
05-26 13:52:36.892: W/System.err(5960):     at dalvik.system.NativeStart.main(Native Method)

编辑:

它会不会与轮询率有关?

因为不是一直都抛出异常。

如有任何帮助,我们将不胜感激。

最佳答案

认为您只需要电池统计权限,请参阅 http://developer.android.com/reference/android/Manifest.permission.html

关于android - 尝试获取电池电量时出现安全异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16758573/

相关文章:

android - 如何在没有root权限的情况下运行Android系统应用程序?

android - 更改android中的默认字符串xml文件

android - 对话过渡效果

android - 如何在我的android应用程序中找出电池的使用情况

android - Android 无法取消重复闹钟

机器人:启用和服务

android - 为什么 BufferedInputStream.read() 在 Android Nougat 用于返回 0 时返回 -1?

Android Battery Historian - docker : Error response from daemon: pull access denied for gcr. io/android-battery-historian

android - StopService 或删除处理程序回调(电池消耗)

java - list 中的接收者 'class' 或 'interface' 预期错误