Skip to content

Commit

Permalink
增加获取meta资源
Browse files Browse the repository at this point in the history
  • Loading branch information
wandersnail committed Oct 14, 2024
1 parent 44e5ed5 commit 94c9261
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 2 deletions.
2 changes: 1 addition & 1 deletion library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
apply plugin: 'signing'

def lib_version = '1.3.9'
def lib_version = '1.4.0'
def user_name = 'wandersnail'
def lib_group = 'cn.wandersnail'
def lib_artifact = 'commons-android'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ private void checkPermissionsRegisterInManifest(List<String> requestPermissions)
}

public boolean hasPermissions(@NonNull List<String> permissions) {
return checkPermissions(permissions, true);
return checkPermissions(new ArrayList<>(permissions), true);
}

@SuppressWarnings("all")
Expand Down
63 changes: 63 additions & 0 deletions library/src/main/java/cn/wandersnail/commons/util/SystemUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,22 @@ public static String getServiceMetaValue(@NonNull Context context, @NonNull Clas
}
}

/**
* 获取Service的Meta资源ID
*
* @param cls Service的class
* @param name meta名
* @return 没有返回null
*/
public static int getServiceMetaResourceId(@NonNull Context context, @NonNull Class<?> cls, @NonNull String name) {
try {
ServiceInfo info = context.getPackageManager().getServiceInfo(new ComponentName(context, cls.getName()), PackageManager.GET_META_DATA);
return info.metaData.getInt(name);
} catch (Exception e) {
return 0;
}
}

/**
* 获取Receiver的Meta值
*
Expand All @@ -391,6 +407,22 @@ public static String getReceiverMetaValue(@NonNull Context context, @NonNull Cla
}
}

/**
* 获取Receiver的Meta资源ID
*
* @param cls Receiver的class
* @param name meta名
* @return 没有返回null
*/
public static int getReceiverMetaResourceId(@NonNull Context context, @NonNull Class<?> cls, @NonNull String name) {
try {
ActivityInfo info = context.getPackageManager().getReceiverInfo(new ComponentName(context, cls.getName()), PackageManager.GET_META_DATA);
return info.metaData.getInt(name);
} catch (Exception e) {
return 0;
}
}

/**
* 获取Activity的Meta值
*
Expand All @@ -409,6 +441,22 @@ public static String getActivityMetaValue(@NonNull Context context, @NonNull Cla
}
}

/**
* 获取Activity的Meta资源ID
*
* @param cls Activity的class
* @param name meta名
* @return 没有返回null
*/
public static int getActivityMetaResourceId(@NonNull Context context, @NonNull Class<?> cls, @NonNull String name) {
try {
ActivityInfo info = context.getPackageManager().getActivityInfo(new ComponentName(context, cls.getName()), PackageManager.GET_META_DATA);
return info.metaData.getInt(name);
} catch (Exception e) {
return 0;
}
}

/**
* 获取Application的Meta值
*
Expand All @@ -425,6 +473,21 @@ public static String getApplicationMetaValue(@NonNull Context context, @NonNull
return null;
}
}

/**
* 获取Application的Meta资源ID
*
* @param name meta名
* @return 没有返回null
*/
public static int getApplicationMetaResourceId(@NonNull Context context, @NonNull String name) {
try {
ApplicationInfo info = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
return info.metaData.getInt(name);
} catch (Exception e) {
return 0;
}
}

public static void goNotificationSetting(@NonNull Context context) {
Intent intent = new Intent();
Expand Down

0 comments on commit 94c9261

Please sign in to comment.