0

サムネイル付きのアプリがあり、ユーザーが親指に触れると、画像全体をフルスクリーンで開きたいと思います。デフォルトのギャラリー アプリで画像を開こうとしましたが、すべてのデバイスで機能するとは限りません。

スニペットは次のとおりです。

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url_of_the_remote_image_here));
intent.setType("image/jpg");
startActivity(intent);

4.1 を実行している Nexus S では、次のようになります。

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=image/jpg }

コードのスニペットをいくつか試してみましたが、多くはブラウザで画像を開いていました。すべての Android デバイスには既定のギャラリーがあるため、それを使用してリモート イメージを開くことはできないのでしょうか?

4

1 に答える 1

0

インターネットを処理するアクティビティがあると想定してはならないので、常にラップstartActivity()try/catchます。私は正しい MIME タイプを使用しますimage/jpegが、実際にはより一般的なものに置き換えimage/*ます。

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url_of_the_remote_image_here));
intent.setType("image/*");
try {
   startActivity(intent);
} catch( Exception e ) {
   e.printStatckTrace();
}
于 2013-06-27T14:49:40.480 に答える