xamarin 如何在没有摄像头功能的设备上支持应用程序

gywdnpxw  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(131)

我有一个Android应用程序目前在Play商店。虽然该设备在所有设备上运行完美,但我试图启用对一些没有摄像头支持的Zebra设备的支持。由于该应用程序有摄像头功能,而设备没有,该应用程序在Play商店中显示不支持。
我的问题是,我是否有办法启用该应用程序在该设备上使用或绕过/不要求该特定设备的摄像头权限。我做了这方面的研究,但发现很少的信息。所以总结一下,我正在寻找一种方法来支持我的应用程序在没有摄像头功能的设备上,只有在设备有摄像头时才使用摄像头权限。任何帮助将不胜感激!

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.25" android:installLocation="auto" package="com.some.package" android:versionCode="52">

    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="32" />

    <application android:alwaysRetainTaskState="true" android:label="app" android:theme="@style/HideTitleAndActionBar" android:icon="@drawable/icon_app" android:hardwareAccelerated="true"></application>

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

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

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

    <uses-permission android:name="android.permission.CAMERA" />

    <uses-permission android:name="android.permission.VIBRATE" />

    <uses-permission android:name="android.permission.FLASHLIGHT" />

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

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

    <uses-permission android:name="android.permission.BLUETOOTH" />

    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

</manifest>
kq0g1dla

kq0g1dla1#

来自文件uses-permission
注意:在某些情况下,您通过请求的权限可能会影响Google Play过滤您的应用的方式。
如果您请求与硬件相关的权限(例如CAMERA),Google Play会假定您的应用需要底层硬件功能,并从不提供该功能的设备中过滤掉该应用。
要控制过滤,请始终在元素中显式声明硬件功能,而不是依赖Google Play来“发现”<uses-permission>元素中的需求。然后,如果您想禁用特定功能的过滤,可以向<uses-feature>声明添加android:required="false"属性。
因此,只需尝试将以下代码添加到清单中:

<uses-feature android:name="android.hardware.camera" android:required="false"/>

有关详细信息,请检查uses-feature

相关问题