当前位置: 首页>>代码示例>>Java>>正文


Java PackageManager类代码示例

本文整理汇总了Java中android.content.pm.PackageManager的典型用法代码示例。如果您正苦于以下问题:Java PackageManager类的具体用法?Java PackageManager怎么用?Java PackageManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PackageManager类属于android.content.pm包,在下文中一共展示了PackageManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: askForPermissons

import android.content.pm.PackageManager; //导入依赖的package包/类
@TargetApi(Build.VERSION_CODES.M)
private void askForPermissons() {
    Activity activity = getParentActivity();
    if (activity == null) {
        return;
    }
    ArrayList<String> permissons = new ArrayList<>();
    if (activity.checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
        permissons.add(Manifest.permission.READ_CONTACTS);
        permissons.add(Manifest.permission.WRITE_CONTACTS);
        permissons.add(Manifest.permission.GET_ACCOUNTS);
    }
    if (activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
        permissons.add(Manifest.permission.READ_EXTERNAL_STORAGE);
        permissons.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
    }
    String[] items = permissons.toArray(new String[permissons.size()]);
    activity.requestPermissions(items, 1);
}
 
开发者ID:MLNO,项目名称:airgram,代码行数:20,代码来源:DialogsActivity.java

示例2: requestPermissionIfNeeded

import android.content.pm.PackageManager; //导入依赖的package包/类
private static boolean requestPermissionIfNeeded(String permission, Activity activity) {
    if (ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity, new String[]{permission}, 1);
        return true;
    }
    return false;
}
 
开发者ID:ROKOLabs,项目名称:ROKOmoji.Emoji.Keyboard.App-Android,代码行数:8,代码来源:KeyboardService.java

示例3: deliverPermissionResult

import android.content.pm.PackageManager; //导入依赖的package包/类
private static void deliverPermissionResult(CordovaPlugin plugin, int requestCode, String[] permissions) {
    // Generate the request results
    int[] requestResults = new int[permissions.length];
    Arrays.fill(requestResults, PackageManager.PERMISSION_GRANTED);

    try {
        Method onRequestPermissionResult = CordovaPlugin.class.getDeclaredMethod(
                "onRequestPermissionResult", int.class, String[].class, int[].class);

        onRequestPermissionResult.invoke(plugin, requestCode, permissions, requestResults);
    } catch (NoSuchMethodException noSuchMethodException) {
        // Should never be caught since the plugin must be written for cordova-android 5.0.0+ if it
        // made it to this point
        LOG.e(LOG_TAG, "NoSuchMethodException when delivering permissions results", noSuchMethodException);
    } catch (IllegalAccessException illegalAccessException) {
        // Should never be caught; this is a public method
        LOG.e(LOG_TAG, "IllegalAccessException when delivering permissions results", illegalAccessException);
    } catch(InvocationTargetException invocationTargetException) {
        // This method may throw a JSONException. We are just duplicating cordova-android's
        // exception handling behavior here; all it does is log the exception in CordovaActivity,
        // print the stacktrace, and ignore it
        LOG.e(LOG_TAG, "InvocationTargetException when delivering permissions results", invocationTargetException);
    }
}
 
开发者ID:Andy-Ta,项目名称:COB,代码行数:25,代码来源:PermissionHelper.java

示例4: getLocationPermission

import android.content.pm.PackageManager; //导入依赖的package包/类
private void getLocationPermission() {
/*
 * Request location permission, so that we can get the location of the
 * device. The result of the permission request is handled by a callback,
 * onRequestPermissionsResult.
 */
    if (ContextCompat.checkSelfPermission(this.getApplicationContext(),
            android.Manifest.permission.ACCESS_FINE_LOCATION)
            == PackageManager.PERMISSION_GRANTED) {
        mLocationPermissionGranted = true;
    } else {
        ActivityCompat.requestPermissions(this,
                new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
                PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
    }
}
 
开发者ID:panzerama,项目名称:Dispatch,代码行数:17,代码来源:MainActivity.java

示例5: getAppSource

import android.content.pm.PackageManager; //导入依赖的package包/类
/**
 * 获取渠道,用于打包
 *
 * @param context
 * @param metaName
 * @return
 */
public static String getAppSource(Context context, String metaName) {
    String result = null;
    try {
        ApplicationInfo appInfo = context.getPackageManager()
                .getApplicationInfo(context.getPackageName(),
                        PackageManager.GET_META_DATA);
        if (appInfo.metaData != null) {
            result = appInfo.metaData.getString(metaName);
        }
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
        JLog.e(e.toString());
    }
    return result;
}
 
开发者ID:jeasinlee,项目名称:AndroidBasicLibs,代码行数:23,代码来源:AppUtil.java

示例6: onAttachClick

import android.content.pm.PackageManager; //导入依赖的package包/类
public void onAttachClick() {
    final int permissionStatus = ContextCompat.checkSelfPermission(
            getContext(),
            Manifest.permission.READ_EXTERNAL_STORAGE
    );

    if (permissionStatus != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(
                getActivity(),
                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                REQUEST_ATTACH_PERMISSION
        );

        return;
    }

    final Intent attach = new Intent(Intent.ACTION_GET_CONTENT)
            .addCategory(Intent.CATEGORY_OPENABLE)
            .setType("*/*");

    startActivityForResult(attach, REQUEST_ATTACH_FILE);
}
 
开发者ID:PacktPublishing,项目名称:Hands-On-Android-UI-Development,代码行数:23,代码来源:AttachmentPagerFragment.java

示例7: beforeInvoke

import android.content.pm.PackageManager; //导入依赖的package包/类
@Override
protected boolean beforeInvoke(Object receiver, Method method, Object[] args) throws Throwable {
    //API 2.3, 4.01, 4.0.3_r1,
/* public int getApplicationEnabledSetting(String packageName) throws RemoteException;*/
    //API 4.1.1_r1, 4.2_r1, 4.3_r1, 4.4_r1, 5.0.2_r1
/*public int getApplicationEnabledSetting(String packageName, int userId) throws RemoteException;*/
    if (args != null) {
        final int index = 0;
        if (args.length > index && args[index] instanceof String) {
            String packageName = (String) args[index];
            if (PluginManager.getInstance().isPluginPackage(packageName)) {
                //DO NOTHING
                setFakedResult(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
                return true;
            }
        }
    }
    return super.beforeInvoke(receiver, method, args);
}
 
开发者ID:amikey,项目名称:DroidPlugin,代码行数:20,代码来源:IPackageManagerHookHandle.java

示例8: onNext

import android.content.pm.PackageManager; //导入依赖的package包/类
@Override
public void onNext(DownloadLink[] downloadLinks) {
    String[] strings = new String[downloadLinks.length];
    for (int i = 0; i < downloadLinks.length; i++) {
        strings[i] = downloadLinks[i].getName();
    }
    new AlertDialog.Builder(this).setItems(strings, (dialogInterface, i) -> {
        mSelectedLink = downloadLinks[i];
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) ==
                PackageManager.PERMISSION_GRANTED) {
            loadMovie();
        } else {
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
                            Manifest.permission.WRITE_EXTERNAL_STORAGE},
                    MY_PERMISSIONS_REQUEST_PLAY_MOVIE);
        }
    }).show();
}
 
开发者ID:CrazyDude1994,项目名称:lostfilm-android-client,代码行数:20,代码来源:PlayerActivity.java

示例9: checkPermissions

import android.content.pm.PackageManager; //导入依赖的package包/类
private void checkPermissions() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        // Android M Permission check
        if (this.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(R.string.location_access_title);
            builder.setMessage(R.string.location_access_message);
            builder.setPositiveButton(android.R.string.ok, null);
            builder.setOnDismissListener(new DialogInterface.OnDismissListener() {

                @RequiresApi(api = Build.VERSION_CODES.M)
                public void onDismiss(DialogInterface dialog) {
                    requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_COARSE_LOCATION);
                }
            });
            builder.show();
        }
    }
}
 
开发者ID:bjaanes,项目名称:BeaconMqtt,代码行数:20,代码来源:MainActivity.java

示例10: getKeyHash

import android.content.pm.PackageManager; //导入依赖的package包/类
public static String getKeyHash(final Context context) {
    PackageInfo packageInfo = getPackageInfo(context, PackageManager.GET_SIGNATURES);
    if (packageInfo == null)
        return null;

    for (Signature signature : packageInfo.signatures) {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            return android.util.Base64.encodeToString(md.digest(), android.util.Base64.NO_WRAP);
        } catch (NoSuchAlgorithmException e) {
            //Log.w(TAG, "Unable to get MessageDigest. signature=" + signature, e);
        }
    }
    return null;
}
 
开发者ID:jjuiddong,项目名称:Android-Practice,代码行数:17,代码来源:MainActivity.java

示例11: detect

import android.content.pm.PackageManager; //导入依赖的package包/类
public static int detect(Context c) {
	if (Build.VERSION.SDK_INT < 5)
		return APPSTORE;
	
	PackageManager pm = c.getPackageManager();
			
	String installer = pm.getInstallerPackageName(c.getPackageName());
	
	if (installer != null && installer.equals("com.android.vending")) 
		return MARKET;
	
	if (Build.MODEL.equalsIgnoreCase("Kindle Fire")) 
		return APPSTORE;

	try {
		if (pm.getPackageInfo("com.amazon.venezia", 0) != null) 
			return APPSTORE;
	} catch (NameNotFoundException e) {
	}
	
	return MARKET;
}
 
开发者ID:sdrausty,项目名称:buildAPKsSamples,代码行数:23,代码来源:MarketDetector.java

示例12: newResult

import android.content.pm.PackageManager; //导入依赖的package包/类
@Override
protected ResolveInfo newResult(VPackage.ServiceIntentInfo filter, int match, int userId) {
    final VPackage.ServiceComponent service = filter.service;
    PackageSetting ps = (PackageSetting) service.owner.mExtras;
    ServiceInfo si = PackageParserEx.generateServiceInfo(service, mFlags, ps.readUserState(userId), userId);
    if (si == null) {
        return null;
    }
    final ResolveInfo res = new ResolveInfo();
    res.serviceInfo = si;
    if ((mFlags & PackageManager.GET_RESOLVED_FILTER) != 0) {
        res.filter = filter.filter;
    }
    res.priority = filter.filter.getPriority();
    res.preferredOrder = service.owner.mPreferredOrder;
    res.match = match;
    res.isDefault = filter.hasDefault;
    res.labelRes = filter.labelRes;
    res.nonLocalizedLabel = filter.nonLocalizedLabel;
    res.icon = filter.icon;
    return res;
}
 
开发者ID:7763sea,项目名称:VirtualHook,代码行数:23,代码来源:VPackageManagerService.java

示例13: loadPackagePathIcon

import android.content.pm.PackageManager; //导入依赖的package包/类
public static Drawable loadPackagePathIcon(Context context, String path, String mimeType){
 	int icon =  sMimeIcons.get(mimeType);
     if (path != null) {
         final PackageManager pm = context.getPackageManager();
try {
	final PackageInfo packageInfo = pm.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
	if (packageInfo != null) {
		packageInfo.applicationInfo.sourceDir = packageInfo.applicationInfo.publicSourceDir = path;
		// know issue with nine patch image instead of drawable
		return pm.getApplicationIcon(packageInfo.applicationInfo);
	}
} catch (Exception e) {
	return ContextCompat.getDrawable(context, icon);
}
     } else {
         return ContextCompat.getDrawable(context, icon);
     }
     return null;
 }
 
开发者ID:medalionk,项目名称:simple-share-android,代码行数:20,代码来源:IconUtils.java

示例14: loadAppList

import android.content.pm.PackageManager; //导入依赖的package包/类
public static List<ApplicationInfo> loadAppList(Context context) {
    List<ApplicationInfo> applicationInfoList = context.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);
    Collections.sort(applicationInfoList, new ApplicationInfo.DisplayNameComparator(context.getPackageManager()));

    final ArrayList<ApplicationInfo> filteredApplicationInfoList = new ArrayList<>();
    for (ApplicationInfo applicationInfo : applicationInfoList) {
        if (context.getPackageManager().getLaunchIntentForPackage(applicationInfo.packageName) == null
                || applicationInfo.packageName.equals(context.getPackageName())) {
            continue;
        }

        filteredApplicationInfoList.add(applicationInfo);
    }

    return filteredApplicationInfoList;
}
 
开发者ID:OhMyLob,项目名称:Paper-Launcher,代码行数:17,代码来源:ApplicationInfoLoader.java

示例15: dispatchRequestPermissionsResultToFragment

import android.content.pm.PackageManager; //导入依赖的package包/类
private void dispatchRequestPermissionsResultToFragment(int requestCode, Intent data,
                                                        Fragment fragment) {
    // If the package installer crashed we may have not data - best effort.
    String[] permissions = (data != null) ? data.getStringArrayExtra(
            PackageManager.EXTRA_REQUEST_PERMISSIONS_NAMES) : new String[0];
    final int[] grantResults = (data != null) ? data.getIntArrayExtra(
            PackageManager.EXTRA_REQUEST_PERMISSIONS_RESULTS) : new int[0];
    fragment.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
 
开发者ID:JessYanCoding,项目名称:ProgressManager,代码行数:10,代码来源:a.java


注:本文中的android.content.pm.PackageManager类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。