Ionic埋め込み原生Camera機能失効問題解決


プロジェクトプレゼンテーションコードアドレスGitHub:IonicMixNative
最近会社の需要でionic埋め込み原生Androidプロジェクトが使われた.
ionic埋め込み原生については以下の文章を参考にすることができる.
『Cordova WebviewをAndroid Native Appに埋め込む』
はい、今質問します.私がIonicで書いた写真機能を使って、ionicプロジェクトをオリジナルに埋め込んだとき、ionicプロジェクトで実行できる写真機能がなくなったことに気づきました.
混同を防ぐために、以下の名詞を使います.
名詞
説明する
ionicプラットフォームandroidプロジェクト
ionic端末コマンドを使用して生成されたandroid platformプロジェクトを表す
ブレンドアイテム
上の文書を参照してionicとAndroidをオリジナルでブレンドした項目を示します
1.問題の原因
ionicプラットフォームandroidプロジェクトとハイブリッドプロジェクトをよく比較すると、ionicプラットフォームandroidプロジェクトAndroidManifest.xmlの中で、ハイブリッドプロジェクトより多いことがわかりました.
<provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="android.support.v4.content.FileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
        </provider>
  • ionicプラットフォームandroidプロジェクトAndroidManifest.xmlファイル
  • 混合プロジェクトAndroidManifest.xmlファイル
  • res/xml/config.xmlファイルをインポートすると、ionicプラットフォームandroidプロジェクトres/xml/パスの下にprovider_paths.xmlファイルがあると思います.
    本人はチュートリアルに従ってconfig.xmlのファイルをインポートする際にこのファイルのみをインポートすると考えるため、このprovider_paths.xmlのファイルはインポートされなかった.
    2.問題解決
    (1)ionicプラットフォームandroidプロジェクトres/xml/provider_paths.xmlファイルをハイブリッドプロジェクトres/xml/provider_paths.xmlにインポート(2)ハイブリッドプロジェクトAndroidManifest.xmlに追加
    <provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="android.support.v4.content.FileProvider">
                <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
            </provider>

    プログラムを再実行し、完了します.