Android media provider does not get recently added images









up vote
0
down vote

favorite












I want to fetch all the images in android device. Therefore I used this code to fetch images-



private fun getAllShownImagesPath(activity: Activity): ArrayList<String>

val uri: Uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val listOfAllImages = ArrayList<String>()
var absolutePathOfImage : String

val projection = arrayOf(MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
val orderBy = MediaStore.Images.Media.DATE_ADDED
val cursor = activity.contentResolver.query(uri, projection, null, null, orderBy)
val indexData = cursor!!.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA)

cursor.moveToLast()
while (cursor.moveToPrevious())

absolutePathOfImage = cursor.getString(indexData)
listOfAllImages.add(absolutePathOfImage)

cursor.close()

return listOfAllImages



But this does not returns recently added images like if you downloaded it few hours ago.
This is somehow fixed when you reboot the device or the image you want to access is like one day old.
Note- you can also provide solution in java.



Thanks










share|improve this question

















  • 1




    see android.media.MediaScannerConnection
    – pskink
    Nov 10 at 11:00










  • @pskink I am talking about images added by other applications like camera or browser etc.
    – Zicsus
    Nov 10 at 16:09














up vote
0
down vote

favorite












I want to fetch all the images in android device. Therefore I used this code to fetch images-



private fun getAllShownImagesPath(activity: Activity): ArrayList<String>

val uri: Uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val listOfAllImages = ArrayList<String>()
var absolutePathOfImage : String

val projection = arrayOf(MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
val orderBy = MediaStore.Images.Media.DATE_ADDED
val cursor = activity.contentResolver.query(uri, projection, null, null, orderBy)
val indexData = cursor!!.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA)

cursor.moveToLast()
while (cursor.moveToPrevious())

absolutePathOfImage = cursor.getString(indexData)
listOfAllImages.add(absolutePathOfImage)

cursor.close()

return listOfAllImages



But this does not returns recently added images like if you downloaded it few hours ago.
This is somehow fixed when you reboot the device or the image you want to access is like one day old.
Note- you can also provide solution in java.



Thanks










share|improve this question

















  • 1




    see android.media.MediaScannerConnection
    – pskink
    Nov 10 at 11:00










  • @pskink I am talking about images added by other applications like camera or browser etc.
    – Zicsus
    Nov 10 at 16:09












up vote
0
down vote

favorite









up vote
0
down vote

favorite











I want to fetch all the images in android device. Therefore I used this code to fetch images-



private fun getAllShownImagesPath(activity: Activity): ArrayList<String>

val uri: Uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val listOfAllImages = ArrayList<String>()
var absolutePathOfImage : String

val projection = arrayOf(MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
val orderBy = MediaStore.Images.Media.DATE_ADDED
val cursor = activity.contentResolver.query(uri, projection, null, null, orderBy)
val indexData = cursor!!.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA)

cursor.moveToLast()
while (cursor.moveToPrevious())

absolutePathOfImage = cursor.getString(indexData)
listOfAllImages.add(absolutePathOfImage)

cursor.close()

return listOfAllImages



But this does not returns recently added images like if you downloaded it few hours ago.
This is somehow fixed when you reboot the device or the image you want to access is like one day old.
Note- you can also provide solution in java.



Thanks










share|improve this question













I want to fetch all the images in android device. Therefore I used this code to fetch images-



private fun getAllShownImagesPath(activity: Activity): ArrayList<String>

val uri: Uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val listOfAllImages = ArrayList<String>()
var absolutePathOfImage : String

val projection = arrayOf(MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
val orderBy = MediaStore.Images.Media.DATE_ADDED
val cursor = activity.contentResolver.query(uri, projection, null, null, orderBy)
val indexData = cursor!!.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA)

cursor.moveToLast()
while (cursor.moveToPrevious())

absolutePathOfImage = cursor.getString(indexData)
listOfAllImages.add(absolutePathOfImage)

cursor.close()

return listOfAllImages



But this does not returns recently added images like if you downloaded it few hours ago.
This is somehow fixed when you reboot the device or the image you want to access is like one day old.
Note- you can also provide solution in java.



Thanks







java android android-studio kotlin media






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 10 at 10:40









Zicsus

192112




192112







  • 1




    see android.media.MediaScannerConnection
    – pskink
    Nov 10 at 11:00










  • @pskink I am talking about images added by other applications like camera or browser etc.
    – Zicsus
    Nov 10 at 16:09












  • 1




    see android.media.MediaScannerConnection
    – pskink
    Nov 10 at 11:00










  • @pskink I am talking about images added by other applications like camera or browser etc.
    – Zicsus
    Nov 10 at 16:09







1




1




see android.media.MediaScannerConnection
– pskink
Nov 10 at 11:00




see android.media.MediaScannerConnection
– pskink
Nov 10 at 11:00












@pskink I am talking about images added by other applications like camera or browser etc.
– Zicsus
Nov 10 at 16:09




@pskink I am talking about images added by other applications like camera or browser etc.
– Zicsus
Nov 10 at 16:09












1 Answer
1






active

oldest

votes

















up vote
0
down vote













Forcefully send broadcast then media cursor will be updated. call this before access media cursor



 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 





share|improve this answer






















  • I am talking about images added by other applications like camera or downloaded by browser
    – Zicsus
    Nov 10 at 15:56










  • @Zicsus i updated my answer. try it
    – Lucefer
    Nov 10 at 16:11










  • didn't work. Still images are not showing up
    – Zicsus
    2 days ago











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238117%2fandroid-media-provider-does-not-get-recently-added-images%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
0
down vote













Forcefully send broadcast then media cursor will be updated. call this before access media cursor



 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 





share|improve this answer






















  • I am talking about images added by other applications like camera or downloaded by browser
    – Zicsus
    Nov 10 at 15:56










  • @Zicsus i updated my answer. try it
    – Lucefer
    Nov 10 at 16:11










  • didn't work. Still images are not showing up
    – Zicsus
    2 days ago















up vote
0
down vote













Forcefully send broadcast then media cursor will be updated. call this before access media cursor



 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 





share|improve this answer






















  • I am talking about images added by other applications like camera or downloaded by browser
    – Zicsus
    Nov 10 at 15:56










  • @Zicsus i updated my answer. try it
    – Lucefer
    Nov 10 at 16:11










  • didn't work. Still images are not showing up
    – Zicsus
    2 days ago













up vote
0
down vote










up vote
0
down vote









Forcefully send broadcast then media cursor will be updated. call this before access media cursor



 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 





share|improve this answer














Forcefully send broadcast then media cursor will be updated. call this before access media cursor



 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 






share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 10 at 16:11

























answered Nov 10 at 11:19









Lucefer

8001510




8001510











  • I am talking about images added by other applications like camera or downloaded by browser
    – Zicsus
    Nov 10 at 15:56










  • @Zicsus i updated my answer. try it
    – Lucefer
    Nov 10 at 16:11










  • didn't work. Still images are not showing up
    – Zicsus
    2 days ago

















  • I am talking about images added by other applications like camera or downloaded by browser
    – Zicsus
    Nov 10 at 15:56










  • @Zicsus i updated my answer. try it
    – Lucefer
    Nov 10 at 16:11










  • didn't work. Still images are not showing up
    – Zicsus
    2 days ago
















I am talking about images added by other applications like camera or downloaded by browser
– Zicsus
Nov 10 at 15:56




I am talking about images added by other applications like camera or downloaded by browser
– Zicsus
Nov 10 at 15:56












@Zicsus i updated my answer. try it
– Lucefer
Nov 10 at 16:11




@Zicsus i updated my answer. try it
– Lucefer
Nov 10 at 16:11












didn't work. Still images are not showing up
– Zicsus
2 days ago





didn't work. Still images are not showing up
– Zicsus
2 days ago


















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53238117%2fandroid-media-provider-does-not-get-recently-added-images%23new-answer', 'question_page');

);

Post as a guest














































































這個網誌中的熱門文章

How to read a connectionString WITH PROVIDER in .NET Core?

Node.js Script on GitHub Pages or Amazon S3

Museum of Modern and Contemporary Art of Trento and Rovereto