7

私のアプリが機能するにはカメラが必要です。ただし、リアカメラでもフロントカメラでも構いません。

現在、マニフェストにこれがあります。

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

正面カメラを必要とするために、私はこれを追加することもできることを知っています:

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

ただし、いずれかのカメラを搭載したすべてのデバイスをサポートしたいと思います。とにかくこれを行うことはありますか?

たとえば、正面カメラしかないNexus7をサポートしたいと思います。ただし、リアカメラのみのデバイスもサポートしたいと思います。

私が行ったいくつかの調査によると、次のようなものです。

http://code.google.com/p/android/issues/detail?id=35166

これは不可能のようです。

これを解決する1つの方法は、android.hardware.cameraとandroid.hardware.camera.frontの2つの別々のAPKを作成し、 MultipleAPKSupportを使用して両方をGooglePlayにアップロードすることだと思います。ただし、まだテストしていません。

フロントカメラ、リアカメラ、またはその両方を備えたすべてのデバイスをサポートするための推奨される方法を見つけた人はいますが、カメラを備えていないデバイスはサポートしていませんか?

4

3 に答える 3

2

いくつかの考え(明確な答えはありません):

a)現在、APKでどちらのカメラも必要とする良い方法はないというのは正しいと思います。

b)必要に応じて、uses-featureを削除し、実行時にカメラを確認できます。ユーザーエクスペリエンスは悪化しますが、機能します。

c)use required = "false"(http://developer.android.com/guide/topics/manifest/uses-feature-element.html)を使用できます。うまくいけば、Googleマーケットはこのフラグを使用してアプリケーションを優先します。

c)サイドノート。私が知っているように、ほとんどのAndroidデバイスにはカメラがあります。したがって、ソリューションb)またはc)を使用する場合、非常に小さなユーザーベースのみが違いに気付くでしょう。

于 2012-09-03T16:41:18.753 に答える
2

これは回答されてから変更されましuses-featureた。これで、次のようなカメラを必要とするマニフェストにを追加できます。

<uses-feature android:name="android.hardware.camera.any" android:required="true" />
于 2014-11-05T14:00:35.740 に答える
1

この議論に私の2セントを追加するだけです:

JuanCortesへのコメントで説明されている@Catと同じ結果を達成しました。

私がこれをテストした方法は、aapt(http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions-featuresにあるテストの手順)を使用し、明示的または暗黙的なカメラを探すことでした。要件:

<uses-feature>フラグはありませんが、camera許可が必要です ここに画像の説明を入力してくださいuses-implied-feature

使用のみ<uses-feature android:name="android.hardware.camera.any" android:required="false" />ここに画像の説明を入力してください アプリには常にカメラが必要であることを意味します。

両方とも<uses-feature android:name="android.hardware.camera.any" android:required="false" /><uses-feature android:name="android.hardware.camera" android:required="false" />定義されています: ここに画像の説明を入力してください これ以上の暗黙の機能はありません。

これが誰かが自分のアプリをプロファイリングするのに役立つことを願っています。

于 2016-05-11T10:07:08.963 に答える