Sencha Touch本机可选功能与所需权限(Nexus 7上的摄像头)

问题描述 投票:0回答:1

我如何使用Sencha Cmd为带有前置摄像头支持的Google Nexus 7打包Sencha Touch 2.2应用程序?

如果直接将其安装在设备上,则我可以运行该应用程序并拍摄精美的照片。但使用App Store时,该应用程序不适用于Nexus 7,因为Google认为该应用程序需要后置摄像头。

查看使用功能清单,我应该在required:false功能上设置CAMERA,但是清单文件是由Cmd基于packager.json生成的。Packager.json包括"permissions": ["CAMERA"],但在包装槽Sencha Cmd时看不到任何选项将其设置为可选。

相机已在应用程序中使用,但不是应用程序的必需部分,所以我希望该应用程序与Nexus 7等无后置摄像头设备兼容(通过Google Play商店)。

PhoneGap可能解决了这个问题,但是当前不是一个选择,因为我使用了其他Cmd / Native功能。

android extjs sencha-touch-2 google-play sencha-cmd
1个回答
0
投票

[Sencha CMD使用模板文件C:\ Users \ USERNAME \ bin \ Sencha \ Cmd \ 3.1.1.274 \ stbuild \ st-res \ android \ AndroidManifest.xml

该文件很可能用于字符串格式功能,以生成最终的未编译清单。

我发现(至少在最新版本中,我可以简单地将正确的标签添加到模板文件中,然后从应用程序packager.json文件中删除配置。从packager.json中删除Camera配置很重要,以防止重复。由于特权配置已从packager.json中删除,因此您必须将特权和功能标签手动添加到清单模板中。在此示例中,我还添加了自动对焦,但是目前,如果您使用相机,Google会自动为此功能投放广告。

[在编译其他应用程序时,如果其他应用程序不需要相机特权,以及在更新Sencha Cmd时,请记住要更改模板。

新行:

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

修改后完整的AndroidManifext.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%s" android:versionCode="%d" android:versionName="%s">
    <uses-sdk android:minSdkVersion="%s" android:targetSdkVersion="15" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"  />
%s
    <application android:icon="@drawable/icon" android:label="%s">
        <activity android:name=".STActivity"
            %s
            android:label="%s">
                <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
%s
%s
        </activity>
    </application>
</manifest>
© www.soinside.com 2019 - 2024. All rights reserved.