Skip to content

Commit 84d515f

Browse files
committed
see 04/21 log
1 parent 7b4c835 commit 84d515f

File tree

4 files changed

+49
-17
lines changed

4 files changed

+49
-17
lines changed

utilcode/README-CN.md

+7
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,11 @@ showCustomLong : 显示长时自定义吐司
654654
cancel : 取消吐司显示
655655
```
656656

657+
* ### Uri 相关 -> [UriUtils.java][uri.java]
658+
```
659+
getUriForFile: 获取文件 URI
660+
```
661+
657662
* ### 压缩相关 -> [ZipUtils.java][zip.java] -> [Test][zip.test]
658663
```
659664
zipFiles : 批量压缩文件
@@ -771,5 +776,7 @@ getComments : 获取压缩文件中的注释链表
771776
[toast.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/ToastUtils.java
772777
[toast.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/app/src/main/java/com/blankj/androidutilcode/feature/core/toast/ToastActivity.java
773778

779+
[uri.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/UriUtils.java
780+
774781
[zip.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/ZipUtils.java
775782
[zip.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/util/ZipUtilsTest.java

utilcode/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,11 @@ showCustomLong
654654
cancel
655655
```
656656

657+
* ### About Uri -> [UriUtils.java][uri.java]
658+
```
659+
getUriForFile
660+
```
661+
657662
* ### About Zip -> [ZipUtils.java][zip.java] -> [Test][zip.test]
658663
```
659664
zipFiles
@@ -771,5 +776,7 @@ getComments
771776
[toast.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/ToastUtils.java
772777
[toast.demo]: https://github.com/Blankj/AndroidUtilCode/blob/master/app/src/main/java/com/blankj/androidutilcode/feature/core/toast/ToastActivity.java
773778

779+
[uri.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/UriUtils.java
780+
774781
[zip.java]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/main/java/com/blankj/utilcode/util/ZipUtils.java
775782
[zip.test]: https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/src/test/java/com/blankj/utilcode/util/ZipUtilsTest.java

utilcode/src/main/java/com/blankj/utilcode/util/IntentUtils.java

+3-17
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@
33
import android.content.ComponentName;
44
import android.content.Intent;
55
import android.net.Uri;
6-
import android.os.Build;
76
import android.os.Bundle;
87
import android.provider.MediaStore;
98
import android.support.annotation.RequiresPermission;
10-
import android.support.v4.content.FileProvider;
119

1210
import java.io.File;
1311

@@ -76,15 +74,9 @@ public static Intent getInstallAppIntent(final String filePath, final boolean is
7674
public static Intent getInstallAppIntent(final File file, final boolean isNewTask) {
7775
if (file == null) return null;
7876
Intent intent = new Intent(Intent.ACTION_VIEW);
79-
Uri data;
77+
Uri data = UriUtils.getUriForFile(file);
78+
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
8079
String type = "application/vnd.android.package-archive";
81-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
82-
data = Uri.fromFile(file);
83-
} else {
84-
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
85-
String authority = Utils.getApp().getPackageName() + ".utilcode.provider";
86-
data = FileProvider.getUriForFile(Utils.getApp(), authority, file);
87-
}
8880
intent.setDataAndType(data, type);
8981
return getIntent(intent, isNewTask);
9082
}
@@ -154,14 +146,8 @@ public static Intent getInstallAppIntent(final File file,
154146
final boolean isNewTask) {
155147
if (file == null) return null;
156148
Intent intent = new Intent(Intent.ACTION_VIEW);
157-
Uri data;
149+
Uri data = UriUtils.getUriForFile(file);
158150
String type = "application/vnd.android.package-archive";
159-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
160-
data = Uri.fromFile(file);
161-
} else {
162-
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
163-
data = FileProvider.getUriForFile(Utils.getApp(), authority, file);
164-
}
165151
intent.setDataAndType(data, type);
166152
return getIntent(intent, isNewTask);
167153
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.blankj.utilcode.util;
2+
3+
import android.net.Uri;
4+
import android.os.Build;
5+
import android.support.v4.content.FileProvider;
6+
7+
import java.io.File;
8+
9+
/**
10+
* <pre>
11+
* author: Blankj
12+
* blog : http://blankj.com
13+
* time : 2018/04/20
14+
* desc : uri 相关
15+
* </pre>
16+
*/
17+
public final class UriUtils {
18+
19+
private UriUtils() {
20+
throw new UnsupportedOperationException("u can't instantiate me...");
21+
}
22+
23+
public static Uri getUriForFile(final File file) {
24+
if (file == null) return null;
25+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
26+
String authority = Utils.getApp().getPackageName() + ".utilcode.provider";
27+
return FileProvider.getUriForFile(Utils.getApp(), authority, file);
28+
} else {
29+
return Uri.fromFile(file);
30+
}
31+
}
32+
}

0 commit comments

Comments
 (0)