android – AltBeacon库 – 如何在远程服务中使用

我正在尝试将AltBeacon库与远程服务中的测距功能一起使用.但是,我现在无法成功地使信标检测成功运行.声明与本地服务相同的服务时一切正常.

当服务在其自己的进程中运行时,函数startRangingBeaconsInRegion()似乎抛出以下异常:

09-17 17:09:14.643  10709-10729/com.my.project E/Parcel﹕ Class not found when unmarshalling: org.altbeacon.beacon.service.StartRMData
    java.lang.ClassNotFoundException: org.altbeacon.beacon.service.StartRMData
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:309)
            at android.os.Parcel.readParcelableCreator(Parcel.java:2281)
            at android.os.Parcel.readParcelable(Parcel.java:2245)
            at android.os.Message.readFromParcel(Message.java:571)
            at android.os.Message.access$000(Message.java:32)
            at android.os.Message$1.createFromParcel(Message.java:527)
            at android.os.Message$1.createFromParcel(Message.java:524)
            at android.os.IMessenger$Stub.onTransact(IMessenger.java:51)
            at android.os.Binder.execTransact(Binder.java:446)
     Caused by: java.lang.ClassNotFoundException: org.altbeacon.beacon.service.StartRMData
            at java.lang.Class.classForName(Native Method)
            at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
            at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at java.lang.Class.classForName(Native Method)
            at java.lang.Class.forName(Class.java:309)
            at android.os.Parcel.readParcelableCreator(Parcel.java:2281)
            at android.os.Parcel.readParcelable(Parcel.java:2245)
            at android.os.Message.readFromParcel(Message.java:571)
            at android.os.Message.access$000(Message.java:32)
            at android.os.Message$1.createFromParcel(Message.java:527)
            at android.os.Message$1.createFromParcel(Message.java:524)
            at android.os.IMessenger$Stub.onTransact(IMessenger.java:51)
            at android.os.Binder.execTransact(Binder.java:446)
     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
09-17 17:09:14.643  10709-10729/com.my.project W/Binder﹕ Caught a RuntimeException from the binder stub implementation.
    android.os.BadParcelableException: ClassNotFoundException when unmarshalling: org.altbeacon.beacon.service.StartRMData
            at android.os.Parcel.readParcelableCreator(Parcel.java:2295)
            at android.os.Parcel.readParcelable(Parcel.java:2245)
            at android.os.Message.readFromParcel(Message.java:571)
            at android.os.Message.access$000(Message.java:32)
            at android.os.Message$1.createFromParcel(Message.java:527)
            at android.os.Message$1.createFromParcel(Message.java:524)
            at android.os.IMessenger$Stub.onTransact(IMessenger.java:51)
            at android.os.Binder.execTransact(Binder.java:446)

这个问题有什么解决方案吗?

最佳答案 Android Beacon Library并非设计为在自己的进程中运行,因此您所描述的内容是不可能的.您可以在此处的问题讨论中看到更详细的讨论原因:
https://github.com/AltBeacon/android-beacon-library/issues/291

点赞