@@ -194,6 +194,8 @@ public static String getUriScheme(final Uri uri) {
194
194
return uri .getScheme ();
195
195
}
196
196
197
+ // =
198
+
197
199
/**
198
200
* 判断 Uri 路径资源是否存在
199
201
* <pre>
@@ -485,4 +487,88 @@ public static boolean isGooglePhotosUri(final Uri uri) {
485
487
if (uri == null ) return false ;
486
488
return "com.google.android.apps.photos.content" .equals (uri .getAuthority ());
487
489
}
490
+
491
+ // ==============
492
+ // = Uri Scheme =
493
+ // ==============
494
+
495
+ /**
496
+ * 判断 Uri Scheme 是否 ContentResolver.SCHEME_ANDROID_RESOURCE
497
+ * @param uri {@link Uri}
498
+ * @return {@code true} yes, {@code false} no
499
+ */
500
+ public static boolean isAndroidResourceScheme (final Uri uri ) {
501
+ return isUriScheme (ContentResolver .SCHEME_ANDROID_RESOURCE , uri );
502
+ }
503
+
504
+ /**
505
+ * 判断 Uri Scheme 是否 ContentResolver.SCHEME_ANDROID_RESOURCE
506
+ * @param scheme 待校验 Scheme
507
+ * @return {@code true} yes, {@code false} no
508
+ */
509
+ public static boolean isAndroidResourceScheme (final String scheme ) {
510
+ return isUriScheme (ContentResolver .SCHEME_ANDROID_RESOURCE , scheme );
511
+ }
512
+
513
+ /**
514
+ * 判断 Uri Scheme 是否 ContentResolver.SCHEME_FILE
515
+ * @param uri {@link Uri}
516
+ * @return {@code true} yes, {@code false} no
517
+ */
518
+ public static boolean isFileScheme (final Uri uri ) {
519
+ return isUriScheme (ContentResolver .SCHEME_FILE , uri );
520
+ }
521
+
522
+ /**
523
+ * 判断 Uri Scheme 是否 ContentResolver.SCHEME_FILE
524
+ * @param scheme 待校验 Scheme
525
+ * @return {@code true} yes, {@code false} no
526
+ */
527
+ public static boolean isFileScheme (final String scheme ) {
528
+ return isUriScheme (ContentResolver .SCHEME_FILE , scheme );
529
+ }
530
+
531
+ /**
532
+ * 判断 Uri Scheme 是否 ContentResolver.SCHEME_CONTENT
533
+ * @param uri {@link Uri}
534
+ * @return {@code true} yes, {@code false} no
535
+ */
536
+ public static boolean isContentScheme (final Uri uri ) {
537
+ return isUriScheme (ContentResolver .SCHEME_CONTENT , uri );
538
+ }
539
+
540
+ /**
541
+ * 判断 Uri Scheme 是否 ContentResolver.SCHEME_CONTENT
542
+ * @param scheme 待校验 Scheme
543
+ * @return {@code true} yes, {@code false} no
544
+ */
545
+ public static boolean isContentScheme (final String scheme ) {
546
+ return isUriScheme (ContentResolver .SCHEME_CONTENT , scheme );
547
+ }
548
+
549
+ /**
550
+ * 判断是否指定的 Uri Scheme
551
+ * @param uriScheme 如 ContentResolver.SCHEME_CONTENT
552
+ * @param uri {@link Uri}
553
+ * @return {@code true} yes, {@code false} no
554
+ */
555
+ public static boolean isUriScheme (
556
+ final String uriScheme ,
557
+ final Uri uri
558
+ ) {
559
+ return isUriScheme (uriScheme , getUriScheme (uri ));
560
+ }
561
+
562
+ /**
563
+ * 判断是否指定的 Uri Scheme ( 忽略大小写 )
564
+ * @param uriScheme 如 ContentResolver.SCHEME_CONTENT
565
+ * @param scheme 待校验 Scheme
566
+ * @return {@code true} yes, {@code false} no
567
+ */
568
+ public static boolean isUriScheme (
569
+ final String uriScheme ,
570
+ final String scheme
571
+ ) {
572
+ return StringUtils .equalsIgnoreCaseNotNull (uriScheme , scheme );
573
+ }
488
574
}
0 commit comments