应用无法发送重新扫描sdcard的广播

来源:互联网 发布:网络推广的工作 编辑:程序博客网 时间:2024/06/05 07:54

在项目中,创建了一个文件并且需要通知系统重新扫描sdcard及时更新,发送一个通知广播后会报如下错误

   Intent intent = newIntent();
  intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
   intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));
   sendBroadcast(intent);

 

   // W/ActivityManager( 498):Permission Denial: not allowed to send
   // broadcastandroid.intent.action.MEDIA_MOUNTED from pid=2269,
   //uid=20016

原因是android4.4系统限制了只有系统应用才有权限使用广播通知系统扫描SDCARD

 

可以使用MediaScannerConnection解决上边的问题:

  MediaScannerConnection.scanFile(this,new String[]{path1,path2,path3...}, null,null);

其中pathX为需要被扫描的文件的路径

0 0
原创粉丝点击