前回の記事に対してコメントをいただきました。それを踏まえましてテストしたところ、対応機種問題が少し解決したのでご報告。
前回の記事は以下です。
blog.gelehrte.com
2018/04/22追記
コメントを受けて、少し修正しました。こちらもご参考にしていただけると嬉しいです。
blog.gelehrte.com
AndroidManifest.xml の変更点
修正前
一部抜粋
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-feature android:name="android.hardware.camera"/> <uses-feature android:name="android.hardware.camera.autofocus"/>
Camera2のAPIを使ってながら、camera に対しての機能を提供していると表示していました。
修正後
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-feature android:name="android.hardware.camera" android:required="false"/> <uses-feature android:name="android.hardware.camera2.full" android:required="false"/> <uses-feature android:name="android.hardware.camera.autofocus"/>
cameraとcamera2.fullに対してandroid:required="false"付与しました。両方の機能を提供すると表明して、内部でCameraAPIを使うかCamera2APIを使うかを判断するという方法っぽいですね。
2018/04/17追記
android.hardware.cameraにはandroid:required="false"は不要のようです。詳細は後日ブログにて弁明させてください。
個人的にはベストプラクティスでは無いと思うのですが、確かにこの方法しかなさそう。
AndroidMarketでの対応機種変更を確認
対応機種が0台にならず、機能提供できているようですね。安心。
コメント提供者への謝辞
コメント提供者の話によると、この方法はGoogleのサポートにアドバイスによるものだそうです。ちゃんとサポートに連絡するのがいいですね。私はサポートに聞かずにうだうだと試して時間を労してしまいました。貴重な助言でした。ありがとうございます。
終わりに
あえて言うなら、AndroidMarket/Google Play DeveloperのサイトUI上で、機能提供デバイスが0台になっている原因を教えて欲しいですよね・・・難しい話なのでしょうけど。
今回はここまで
それではー