Android使用ACTION_VIEW查看图片和视频

Android使用ACTION_VIEW查看图片和视频

神马笔记已经实现在笔记中插入图片和视频,但是不能全屏查看。

这次的目标便是实现全屏查看功能。

一、目标

调用第三方应用实现全屏查看图片和视频。

二、实现方案

既然是调用第三方应用,自然是使用Intent来实现。

参数 说明
Action Intent.ACTION_VIEW
Flags Intent.FLAG_GRANT_READ_URI_PERMISSION
Data Uri路径
Type MIME类型

三、最终代码

  • 查看图片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Context context = this.getContext();

Uri uri;

File file = item.getFile();
if (file.exists()) {
uri = UriUtils.fromFile(context, file);
} else {
uri = item.getUri();
}

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); //注意加上这句话
intent.setDataAndType(uri, "image/*");

try {
context.startActivity(intent);
} catch (Exception e) {

}
  • 查看视频
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Context context = this.getContext();

Uri uri;

File file = item.getFile();
if (file.exists()) {
uri = UriUtils.fromFile(context, file);
} else {
uri = item.getUri();
}

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); //注意加上这句话
intent.setDataAndType(uri, "video/*");

try {
context.startActivity(intent);
} catch (Exception e) {

}

四、过程回顾

核心代码来自《android7.0之后用系统图片查看器打开应用目录的图片》,感谢分享。

五、接下来

实现神马笔记应用内视频播放功能。

六、Finally

复次。须菩提。 菩萨于法。应无所住。行于布施。 所谓不住色布施。 不住声香味触法布施。