我正在为Jellybean,KitKat和Lollipop以及几种不同的设备开发Android应用程序。
在项目开始时,我使用Jellybean API库和目标API“anroid-18”使用“Samsung galaxy note 2014 edition”。 几个月后,该设备的操作系统开始升级到KitKat OS,因此我将库更改为'android-19',版本号为4.4.2。
我现在有一个名为Galaxy S tab 2的新设备。
我现在有三个版本和两个设备,我的默认API是4.4.2。
使用应用程序捕获图片时出现问题:
if (Build.VERSION.SDK_INT >= AlopexBuild.VERSION_SUPPORT.KITKAT) {
Intent mediaScanIntent
= new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.parse("file://"+ path);
mediaScanIntent.setData(contentUri);
sendBroadcast(mediaScanIntent);
} else {
sendBroadcast(
new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ path)));
}
以下代码在Jellybean中没有问题:
Intent mediaScanIntent
= new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.parse("file://"+ path);
mediaScanIntent.setData(contentUri);
sendBroadcast(mediaScanIntent);
为什么会这样?
Jellybean OS + Kitkat API =失败
Kitkat OS + Kitkat API =确定
Lollipop OS + KitKat API =确定
有问题的代码是
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ path)));