サーバーに画像をアップロードするために作成したアプリがあります。これは、Android 2.3.4 を実行している droidx と Android 4.0.3 を実行している 2 つの異なるシミュレーターでうまく機能しました。ただし、Asus ee Pad Transformer (4.0.3 を実行) で実行しようとすると、MediaStore.Images.Thumbnails に 0 アイテムがあると常に通知されます。
String[] projection = {MediaStore.Images.Thumbnails._ID};
cursor = managedQuery( MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
projection,
null,
null,
MediaStore.Images.Thumbnails.IMAGE_ID);
Log.d("Info","There are " + cursor.getCount() + " items");
カメラから 5 つ、インターネットからダウンロードした 1 つ、合計 6 つが表示されるはずです。サムネイルではなく画像を取得するだけの以前のコードは、カメラから 5 つの画像があることを示しているため、コードが機能していることがわかります。
String[] projection = {MediaStore.Images.Media._ID};
cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection,
"Camera",
null,null);
Log.d("Info","There are " + cursor.getCount() + " images");
ギャラリー アプリを開くと、これらの画像がすべて表示されます。また、Media Storage アプリをクリアしてデバイスを再起動して、それが役立つかどうかを確認してみましたが、そうではありませんでした。この時点で、特にこのまったく同じコードが電話とシミュレーターで機能したため、私は非常に混乱しています。