前言
记录一下Android中如何通知扫描文件,也就是把新创建的媒体文件添加到MediaProvider中。
这里简单介绍一下个人常用的几种方式。
正文
方式一
发送广播,Intent.ACTION_MEDIA_SCANNER_SCAN_FILE是Android定义的广播。
private void scanFile(final String path){ Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri data = Uri.parse("file://" + path); intent.setData(data); sendBroadcast(intent); }
方式二
使用adb命令,不过也是发送广播。
public static final String ACTION_MEDIA_SCANNER_SCAN_FILE = "android.intent.action.MEDIA_SCANNER_SCAN_FILE";
adb shell am broadcast -a ACTION_XXX -d DATA_URI
比如
方式三
这种方式更简单,而且有扫描结束监听并返回结果。
MediaScannerConnection还有其他用法,后面单独记录一下。
小结
目前就只用过上面几种方式,如果还有其他的,可以留言,谢谢
参考文章
历史上的今天
暂无评论...
随机推荐
张爱玲:花落的声音
家中养了玫瑰,没过多少天,就在夜深人静的时候,听到了花落的声音。起先是试探性的一声“啪”,像一滴雨打在桌面。紧接着,纷至沓来的“啪啪”声中,无数中弹的蝴蝶纷纷从高空跌落下来。那一刻的夜真静啊,静得听自己的呼吸犹如倾听涨落的潮汐。整个人都被花落的声音吊在半空,尖着耳朵,听得心里一惊一惊的,像听一个正...
OkHttp分析之同步请求
前言接上文网络请求框架OkHttp的同步异步简单使用介绍《OkHttp简单介绍之一》,今天就对同步请求的源码分析一下,加深一下印象。记录一下,方便自己查阅。正文这里用的框架版本implementation 'com.squareup.okhttp3:okhttp:3.12.0'有新版本,...
JNI动态注册 2
前言接上文《JNI动态注册》,介绍了简单的动态注册,这篇是整理一下动态注册的主要修改点。PS : 个人流水账,不一定适合所有人,可以跳过,谢谢正文依旧注册Hello.java类package com.biumall.dynamic.one;public class Hello {...
Android自定义水平Seekbar简介
前言Android默认的Seekbar就是水平的,为啥这里需要自定义呢?在项目中我们大多数Seekbar是可以用原生的解决,但是个别客户对Seekbar效果做了定制化,如果用Android原生的达不到客户需求。正文直入正题,效果图第一个是Android原生的SeekBar第二个是自定...
反射之获取类的Class
前言记录一下反射相关内容,摘抄于此,方便自己查阅。反射技术包括如下内容:根据一个字符串得到一个类的类型获取一个类的所有公用或私有、静态或实例的字段,方法,属性对泛类型的反射正文本文主要通过字符串得到类的类型PS: 类型用Class表示getClassStri...
currentTimeMillis()与uptimeMillis()区别
前言项目中,由于需要做防爆力点击,需要计算用户点击的时间间隔。虽然也经常使用,但偶尔还是忘了该用哪个,以及这两个之间的区别,因此,抽空整理一下,摘抄于此。Android中计算时间间隔的方法记录开始时间 startTime,然后每次回调时,获取当前时间 currentTime,计算差值 = ...