packageManager.queryIntentActivities(intent, 0)
アプリが実行されている場合、空のリストを返しますtargetSdkVersion 30
この問題を解決するには<queries>
、マニフェストで使用する必要がありますqueryIntentActivities()
。呼び出し元のアプリの宣言に基づいてフィルター処理されます。
画像のキャプチャと画像のアップロードを修正して、Android の「スコープ ストレージ」で動作するようにします
この問題は、新しいパッケージの可視性 ( https://developer.android.com/about/versions/11/privacy/package-visibility ) に関連している可能性があります。すべての更新 (少なくとも Android Studio 4.1) の後、アプリで必要なアクションを示すマニフェストを追加してみてください。
私の場合、
CAMERAにIMAGE_CAPTURE 、GALLERYにGET_CONTENT(ビデオが必要な場合はmimeTypeを変更するファイルを取得するため)、 GALLERYにPICK(ビデオが必要な場合はmimetypeを変更する必要があります)
GALLERYにCHOOSER(誰かが他の画像を持っている場合)を追加すると、問題はなくなりますブラウザー)
追加する必要があるクエリをlogcatで確認することもできます(「BLOCKED」または「権限なし」が含まれている必要があります。エラーは、戻り値ImagePickerModule
のあるインテントで権限がない場合に発生します(コメントして、でより良いエラーを確認できます)resolveActivity
null
startActivityForResult
アドイン<query>
_AndroidManifest.xml
<manifest>
.....
.....
<queries>
<!-- Browser -->
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http" />
</intent>
<!-- Camera -->
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
<!-- Gallery -->
<intent>
<action android:name="android.intent.action.GET_CONTENT" />
<data android:mimeType="image/*" />
</intent>
<intent>
<action android:name="android.intent.action.PICK" />
<data android:mimeType="image/*" />
</intent>
<intent>
<action android:name="android.intent.action.CHOOSER" />
</intent>
</queries>
.....
.....
</manifest>