android - 仅在 Android 上带有 Google Analytics 插件错误的 PhoneGap/Cordova 应用程序

标签 android eclipse cordova google-analytics phonegap-plugins

我正在使用 PhoneGap 版本 3.3.0-0.18.0

我正在使用这个插件:

https://github.com/phonegap-build/GAPlugin

它适用于 iOS,但在 Android 上我似乎无法记录任何事件,在我的 Android 设备上运行时在 Eclipse 中出现以下内容:

01-06 11:36:23.705: E/GAV2(3478): Thread[GAThread,5,main]: Error on GAThread: java.lang.SecurityException: ConnectivityService: Neither user 10132 nor current process has android.permission.ACCESS_NETWORK_STATE.
01-06 11:36:23.705: E/GAV2(3478):   at android.os.Parcel.readException(Parcel.java:1425)
01-06 11:36:23.705: E/GAV2(3478):   at android.os.Parcel.readException(Parcel.java:1379)
01-06 11:36:23.705: E/GAV2(3478):   at android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.java:667)
01-06 11:36:23.705: E/GAV2(3478):   at android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:458)
01-06 11:36:23.705: E/GAV2(3478):   at com.google.analytics.tracking.android.SimpleNetworkDispatcher.okToDispatch(SimpleNetworkDispatcher.java:69)
01-06 11:36:23.705: E/GAV2(3478):   at com.google.analytics.tracking.android.PersistentAnalyticsStore.dispatch(PersistentAnalyticsStore.java:483)
01-06 11:36:23.705: E/GAV2(3478):   at com.google.analytics.tracking.android.GAServiceProxy.dispatchToStore(GAServiceProxy.java:245)
01-06 11:36:23.705: E/GAV2(3478):   at com.google.analytics.tracking.android.GAServiceProxy.sendQueue(GAServiceProxy.java:216)
01-06 11:36:23.705: E/GAV2(3478):   at com.google.analytics.tracking.android.GAServiceProxy.access$000(GAServiceProxy.java:27)
01-06 11:36:23.705: E/GAV2(3478):   at com.google.analytics.tracking.android.GAServiceProxy$2.run(GAServiceProxy.java:198)
01-06 11:36:23.705: E/GAV2(3478):   at com.google.analytics.tracking.android.GAThread.run(GAThread.java:520)
01-06 11:36:23.705: E/GAV2(3478): Thread[GAThread,5,main]: Google Analytics is shutting down.

从阅读错误消息来看,应用程序似乎没有发送 GA 数据的权限,有没有办法解决这个问题?

最佳答案

将以下权限添加到您的 list 中:

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

添加到每个 phonegap 项目都需要此权限。因为我们的 html 文件将在浏览器上运行,我们的一些样式表和 js 需要检查当前的网络状态。所以它可以检测到是否有可用的网络连接,然后它可以继续。检查状态android有权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> .

关于android - 仅在 Android 上带有 Google Analytics 插件错误的 PhoneGap/Cordova 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20949230/

相关文章:

javascript - 使用 facebook 登录,无需任何phonegap 插件

Android主项目与库项目-如何在项目之间传递设置

android - android studio 中的模拟器已过期错误

android 复制保护 前向锁定 - 我不应该打扰吗?

java - Eclipse 编译器说在注释中的枚举字段数组的情况下属性未定义

android - 在尝试使用 cordova-android-chromeview 之前,是否需要从源代码构建 chromeview 项目?

android - 无法使用同步的 Gmail 帐户获取联系人

java - 如何从 WSDL 生成 Java 类

eclipse - 如何在 ubuntu 上卸载 eclipse neon?

ios - Phonegap/ios - 捕获视频不保存到 iPhone 相机胶卷