问题解决了
static String getAuthorityFromPermission(Context context, String permission){
if (permission == null) return null;
List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS);
if (packs != null) {
for (PackageInfo pack : packs) {
ProviderInfo[] providers = pack.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
if (permission.equals(provider.readPermission)) return provider.authority;
if (permission.equals(provider.writePermission)) return provider.authority;
}
}
}
}
return null;
}
static String getAuthorityFromPermission(Context context, String permission){
if (permission == null) return null;
List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS);
if (packs != null) {
for (PackageInfo pack : packs) {
ProviderInfo[] providers = pack.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
if (permission.equals(provider.readPermission)) return provider.authority;
if (permission.equals(provider.writePermission)) return provider.authority;
}
}
}
}
return null;
}
* 创建快捷方式
*
* **/
private void createShorcut() {
if (!hasShortCut(this)) {//判断快捷方式是否已经创建
String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
Intent addShortcut = new Intent(ACTION_ADD_SHORTCUT);
Parcelable icon = Intent.ShortcutIconResource.fromContext(this,// 快捷方式图片
R.drawable.ic_launcher);
addShortcut.putExtra("duplicate", false); // 不允许重复创建
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "居丫");// 快捷方式名称
addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
getApplicationContext(), WelcomeActivity.class));// 运行的程序主入口
sendBroadcast(addShortcut);
} }
/*
* 判断快捷方式是否已经创建
*
* */
public static boolean hasShortCut(Context context) {
String url = "";
System.out.println(getSystemVersion());
if(getSystemVersion() < 8){ //判断如果系统版本小于2.2的
url = "content://com.android.launcher.settings/favorites?notify=true";
}else{ //判断如果系统版本小大于2.2的
url = "content://com.android.launcher2.settings/favorites?notify=true";
}
ContentResolver resolver = context.getContentResolver();
Cursor cursor = resolver.query(Uri.parse(url), null, "title=?",
new String[] {context.getString(R.string.app_name)}, null);
if (cursor != null && cursor.moveToFirst()) {
cursor.close();
return true;
}
return false;
}
private static int getSystemVersion(){ //获取系统版本
return android.os.Build.VERSION.SDK_INT;
}
不懂 q我:1162965454
getAuthorityFromPermission(mContext, "com.android.launcher.permission.READ_SETTINGS")); public static String getAuthorityFromPermission(Context context, String permission)
{ if (permission == null) return null; List packs = context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS);
if (packs != null) {
for (PackageInfo pack : packs) {
ProviderInfo providers = pack.providers;
if (providers != null) { for (ProviderInfo provider : providers) }
}
} return null;
}