[Xamarin] Android intent.ResolveActivity が null になる



ResolveActivity の必要性について

Android の開発において、アプリで処理できないインテントを使用して StartActivityForResult を呼び出すとクラッシュするので、ResolveActivity で呼び出しを保護することが求められています。

ResolveActivity をしないで try ~ catch するという方法もありますが、推奨はされません。

Xamarin.Android で他のカメラアプリを起動して撮影して戻してもらう場合は intent に MediaStore.ActionImageCapture を指定して起動します。

ResolveActivity を入れると上記のようなコードになりますが、 ResolveActivity() の戻り値が常に null になってしまっていました。何が足りないのでしょうか。

解決策

AndroidManifest.xml に以下のコードを追加します。

これは applications タグの外側に記載する必要があります。

これを記載することで ResolveActivity の戻り値が常に null になることはなくなります。

ITエンジニア募集中!

キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。

下記よりITエンジニア募集の採用情報をご覧いただけます。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA