質問: new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=my.app.package"); startActivity(intent); } ``` ご意見・アドバイスをお聞きしたいのは下記2点です。 ・ActivityNotFoundExceptionが発生する原因および再現方法 ・上記の修正内容、記述の仕方が正しいかどうか Google Playアプリを開けないことで例外が発生すると思うのですが、その状況がどうして生まれるのかわかりません。 当方のアプリは基本的にGoogle Playからしかインストールできないはずの状態です。 何卒、宜しくお願いします。
回答: marketはAndroidが認識できるスキームですか? URIは端末内外のどこかにあるリソースを一意に指しています。 例えばhttpなら端末外、fileなら端末内といった具合です。 ここでmarketは何を指すかというと、他の誰かが作成した独自スキーマを指しているとAndroidが判断し、起動すべきアプリのActivityをさがします。しかし該当するActivityが端末内に存在しない場合は、現象どおりの例外が発生します。 対応としては、スキーマが正しいかを確認することですね。