我一直在尝试向Google Play Store发布Android汽车应用程序,但它被拒绝了。拒绝的原因是"App类别不允许"。目前,我们只接受Android for Cars应用程序库支持的类别内的应用程序,以及媒体和视频类别。">
上面提到的类别是媒体应用(音频),消息应用,导航应用,兴趣点(POI)应用和视频应用(https://developer.android.com/training/cars#supported-app-categories)。
在AndroidManifest.xml文件中,分类是这样定义的:
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="androidx.car.app.category.POI" />
</intent-filter>
<meta-data android:name="distractionOptimized" android:value="true" />
</activity>
所以我的问题是,为什么它说它被拒绝了,因为"仅接受Android for Cars应用程序库支持的类别以及媒体和视频类别中的应用程序,当应用程序的类别是这些类别之一时?
我试着上诉,但上面说可能需要7天的时间,如果能尽快知道原因就好了。
我试图寻找一个答案,但我没有找到任何特别的东西。我唯一注意到的是,其他人把他们的分类放在里面,像这样:<service
android:name=".MyCarAppService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService"/>
<category android:name="androidx.car.app.category.POI"/>
</intent-filter>
</service>
然而,我发现情况并非总是如此。文档中的一个示例没有使用(https://developer.android.com/reference/androidx/car/app/activity/CarAppActivity),它说:
"在主显示中表示汽车应用程序活动的类。这个类负责绑定到主机并呈现它的androidx.car.app.CarAppService."在提供的示例中,代码如下所示:
<activity
android:name="androidx.car.app.activity.CarAppActivity"
android:exported="true"
android:launchMode="singleTask"
android:label="@string/your_app_label">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="distractionOptimized" android:value="true"/>
</activity>
所以我的问题仍然存在;为什么我的应用程序会因为"不支持类别"而被拒绝,而类别设置为五个支持类别之一?
最终答案:
检查你的android .car.app库版本,以确定使用哪个类别,如果你正在构建一个兴趣点应用程序:
- <1.3:使用停车或收费类别。
- 1.3及以上:使用POI类别
我们最终使用了最适合我们应用程序的新的IOT类别,它与CarApp库的1.2版本一起工作,它通过了公开测试的审查(在编写此更新时,1.3还没有在Xamarin上可用)。
***原文:***
不幸的是,这似乎是一个常见的问题,很多人都在试图发布Android Auto应用程序。查看这个堆栈溢出线程。
我也使用"android .car.app.category. poi "类别,因为我的应用绝对不属于任何其他类别。在我提交的7份申请中,到目前为止只有3份获得了批准,似乎批准是非常零星的。拒绝总是有相同的通用拒绝消息("应用类别不允许")。当你对拒绝提出上诉时,他们只是用同样的拒绝信息回应。
Android Auto可以使用这个URL请求新的分类。
编辑:
这个堆栈溢出线程建议使用PARKING类别而不是POI。这很有趣,因为根据谷歌的安卓汽车文档,停车和收费类别已经被弃用,现在应该使用POI。我试过了,我的构建通过了。