0

ギャラリーから写真を開くことができるアプリがあります。ギャラリーからアプリに画像を追加すると、URIが記録され、必要に応じてそのURIを使用して画像が再度開きます。

これはHoneycombとICSで正常に機能していますが、Jellybean(4.1)では、ギャラリーで開いたアルバムの最初の画像を常に取得します。

ギャラリーを呼び出すときに、URIが実際に変更されていることを再確認しました。

ギャラリーを開くコードは次のとおりです

startActivity(new Intent(Intent.ACTION_VIEW, uri));

そして、これがURIです...

content://com.google.android.gallery3d.provider/picasa/item/5477659987595757282

繰り返しになりますが、これは画像が最初に選択されたときにギャラリーから提供されるURIであるため、URIは問題ないはずです。これはジェリービーンズのみの問題であり、ICSを実行していたのと同じデバイスで実行しています。以前は正常に機能していました。これで正しいアルバムが開きますが、常に最初の画像が表示されます。

ありがとう!

4

1 に答える 1

0

問題が具体的に何であるかは完全にはわかりませんが、私が知っていることは、内部APIを使用しているということです...そうすべきではありません。OEM(Samsung、HTCなど)は、将来これらのURIを変更する可能性があり、古いアプリが新しいデバイスで機能しなくなる可能性があります。具体的には、Androidの新しいバージョンがリリースされても投稿したURIの一貫性が維持される保証はありません(パブリックAPIの一部ではないため)。

少なくとも、を使用して、指定されたURIに関連付けられたパッケージが存在するかどうかを確認する必要がありますPackageManager(存在しない場合は、アクションを完了できないことを警告するトーストでユーザーにプロンプ​​トを表示します)。

于 2012-10-02T04:33:51.517 に答える