AnalyticsReceiver - 这是为了什么?为什么它导致“接收者不需要许可”警告?

时间:2016-08-18 14:50:43

标签: android google-analytics android-manifest android-broadcastreceiver google-analytics-sdk

在我的清单文件中的Android应用程序中,我有以下接收者和服务声明:

<receiver
   android:name="com.google.android.gms.analytics.AnalyticsReceiver"
   android:enabled="true">
   <intent-filter>
      <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
   </intent-filter>
</receiver>
<service
   android:name="com.google.android.gms.analytics.AnalyticsService"
   android:enabled="true"
   android:exported="false" />

说实话,这是一个相当古老的应用程序,我不记得为什么我把它放在那里。它可能来自Google Analytics文档。但现在我找不到任何有关它的最新信息。

更多Android Studio向我展示了该接收器的警告:

  

接收方不需要许可

     

出口接收器(接收器   哪个设置为exported = true或包含一个intent-filter而不是   指定exported = false)应定义实体必须的权限   为了启动接收器或绑定它。没有这个,任何   应用程序可以使用此接收器。

我的代码中是否真的需要接收器和服务?这是什么责任?它仍然是实际的吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是最新版本的Google Analytics,则不需要在清单文件中手动指定服务和接收方。

Here is the Google Analytics getting start guide for Android。请注意,如果要从较旧版本升级,则可能需要在其他位置执行其他工作才能升级。您应该仔细阅读整个指南,以确保您的应用仍然配置正确。