質問: new intent(); intent.setaction(android.content.intent.action_view); intent.setdataandtype(uri.fromfile(new file(path)), "image/png"); startactivity(intent); ビットマップが正常にダウンロードされていることはわかっています(アプリの他の場所にimageviewインスタンスを提供するために同じルーチンを使用してください)-ファイルに正常に書き込まれたと思います。ディスク上で確認でき、ファイルサイズは正しいです。インテントが起動されますが、例外がスローされます。 エラー/ imagemanager(1345):ビットマップjava.lang.nullpointerexceptionのデコードで例外が発生しました その後、新しいアクティビティは空白のままになります。これはどのように作動しますか?
回答: チェックアウト androidの問題2092 それはあなたが説明しているものと似ているように聞こえます。この問題は、「(rgbカラーモードではなく)インデックスカラーモードで保存されたpngファイルに対してbitmap.compress()が失敗する」と述べていますが、最初のコメント投稿者は、「インデックスカラーの問題ではなくpngの問題のように見えます。 「」コードは問題ないようです。これと比較してくださいandroidスニペット:intent intent = new intent(); intent.setaction(android.content.intent.action_view); file file = new file("/sdcard/test.mp4"); intent.setdataandtype(uri.fromfile(file), "video/*"); startactivity(intent); intent intent = new intent(); intent.setaction(android.content.intent.action_view); file file = new file("/sdcard/test.mp3"); intent.setdataandtype(uri.fromfile(file), "audio/*"); startactivity(intent);