通常在我们的项目中,可能会遇到写本地文件,最常用的就是图片文件,在这之后需要通知系统重新扫描SD卡,
在Android4.4之前也就是以发送一个Action为“Intent.ACTION_MEDIA_MOUNTED”的广播通知执行扫描。如下:
this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
但在Android4.4中,则会抛出以下异常:
W/ActivityManager( 498): Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=2269, uid=20016
那是因为Android4.4中限制了系统应用才有权限使用广播通知系统扫描SD卡。
解决方式:
使用MediaScannerConnection执行具体文件或文件夹进行扫描。
MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/" + fileName}, null, null);
分享到:
相关推荐
'android.intent.action.MEDIA_MOUNTED' 扩展介质被移除。 'android.intent.action.MEDIA_REMOVED' 已经扫描完介质的一个目录。 'android.intent.action.MEDIA_SCANNER_FINISHED' 开始扫描介质的一个目录。 '...
在给定的标题"android.intent.action.TIME_TICK"中,涉及的是一个特定的系统广播,当系统时间每分钟改变时,这个广播就会被发送。这个广播事件对于那些需要定时更新或依赖于系统时间的应用程序非常有用。 描述中...
在Android开发中,Intent是一个非常重要的组件,它用于在应用程序的不同组件之间传递消息,执行特定的操作,如启动活动(Activity)、启动服务(Service)等。当我们想要从应用中拨打电话时,就需要用到Intent ...
### Android Intent Action 大全 #### 一、概述 在Android开发中,`Intent`作为组件间通信的重要机制之一,其通过携带特定的信息在不同组件之间进行传递,从而实现组件间的交互与通信。`Intent`有两种类型:显式...
25. Intent.ACTION_MEDIA_MOUNTED:插入 SD 卡并且已正确安装时的广播 26. Intent.ACTION_MEDIA_NOFS:未挂载 SD 卡时的广播 27. Intent.ACTION_MEDIA_REMOVED:外部储存设备已被移除时的广播 28. Intent.ACTION_...
"Android利用Intent.ACTION_SEND进行分享" Android平台提供了多种方式来实现分享功能,其中之一便是使用Intent.ACTION_SEND来实现分享。下面将详细介绍使用Intent.ACTION_SEND进行分享的知识点。 首先,Intent....
在Android开发中,Intent是应用间通信的重要工具,它用于启动其他Activity或Service,传递数据,实现组件间的交互。Intent.ACTION_SEND是Intent的一个特定动作,用于实现应用中的内容分享功能。当你点击一个“分享”...
25. Intent.ACTION_MEDIA_MOUNTED:当插入 SD 卡并且已正确安装时,系统会发出此广播,通知相关应用程序进行相应的处理。 知识点:SD 卡是 Android 系统中的一种外部存储设备,应用程序可以根据这个事件来进行存储...
Android mobile 操作系统中,Intent.ACTION_SEND 是一个非常常用的 Action,主要用于实现分享功能,例如分享图片、文字内容等。在本文中,我们将详细介绍如何使用 Intent.ACTION_SEND 分享图片和文字内容,并提供一...
在这个例子中,我们查询了MediaStore.Images.Media.EXTERNAL_CONTENT_URI,这代表外部存储(通常是SD卡)上的所有图片。然后通过遍历Cursor得到每张图片的信息,包括_id(唯一标识)和_DATA(图片路径)。 值得注意...
Intent intent = new Intent("android.intent.action.SILENT_PACKAGE_INSTALL"); intent.putExtra("silent_install_file", "/sdcard/Helloworld.apk"); intent.putExtra("silent_install_auto_start", true);//...
26. **Intent.ACTION_MEDIA_SCANNER_FINISHED**:媒体扫描器完成扫描SD卡中的文件后,会发送此广播。 这些广播事件为开发者提供了丰富的设备状态信息,允许他们构建能够响应各种系统事件的应用程序。在实际开发中,...
<action android:name="android.intent.action.MEDIA_BUTTON" /> </intent-filter> <uses-permission android:name="android.permission.BIND_REMOTEVIEWS" /> ``` 然后,关于模拟媒体键盘,这通常用于测试或...
android.intent.action.PACKAGE_REMOVED和android.intent.action.PACKAGE_ADDED 可以监听别的应用被安装卸载,但不能监听自己被卸载啊。 监听自己被卸载通过前辈们探索发现,只能通过监听系统卸载log如:act=...
uninstallIntent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | Intent.FLAG_ACTIVITY_NO_USER_ACTION); } ``` 在API 23及以下...
Action定义了Intent想要执行的操作类型,如启动一个新的活动(Activity)、发送广播(Broadcast)或者启动服务(Service)。`Android Intent Action`是Intent的行动标识,它是Intent的元数据,指示系统或特定组件...
在Android平台上,对电话状态的监听和拦截是一个需要特别权限和精确实现的敏感操作,这涉及到Android的权限管理、广播接收器(BroadcastReceiver)、事件监听机制以及电话状态的处理。以下知识点将详细介绍如何实现这...
22. Intent.ACTION_MEDIA_MOUNTED:当SD卡或其他外部存储设备正确安装(识别)时,系统会广播该动作。 以上列出了部分常用的Android系统广播及其描述,这些广播能够帮助开发者在进行应用开发时更好地响应和处理系统...