android.content.Context#getPackageManager ( )源码实例Demo

下面列出了android.content.Context#getPackageManager ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: KUtils-master   文件: Utils.java
/**
 * 获取系统中所有的应用
 *
 * @param context 上下文
 * @return 应用信息List
 */
public static List<PackageInfo> getAllApps(Context context) {

    List<PackageInfo> apps = new ArrayList<PackageInfo>();
    PackageManager pManager = context.getPackageManager();
    List<PackageInfo> paklist = pManager.getInstalledPackages(0);
    for (int i = 0; i < paklist.size(); i++) {
        PackageInfo pak = paklist.get(i);
        if ((pak.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <=
                0) {
            // customs applications
            apps.add(pak);
        }
    }
    return apps;
}
 
源代码2 项目: MiPushFramework   文件: CondomContext.java
private CondomContext(final CondomCore condom, final @Nullable Context app_context, final @Nullable @Size(max=16) String tag) {
	super(condom.mBase);
	final Context base = condom.mBase;
	mCondom = condom;
	mApplicationContext = app_context != null ? app_context : this;
	mBaseContext = new Lazy<Context>() { @Override protected Context create() {
		return new PseudoContextImpl(CondomContext.this);
	}};
	mPackageManager = new Lazy<PackageManager>() { @Override protected PackageManager create() {
		return new CondomPackageManager(base.getPackageManager());
	}};
	mContentResolver = new Lazy<ContentResolver>() { @Override protected ContentResolver create() {
		return new CondomContentResolver(base, base.getContentResolver());
	}};
	final List<CondomKit> kits = condom.mKits;
	if (kits != null && ! kits.isEmpty()) {
		mKitManager = new KitManager();
		for (final CondomKit kit : kits)
			kit.onRegister(mKitManager);
	} else mKitManager = null;
	TAG = CondomCore.buildLogTag("Condom", "Condom.", tag);
}
 
源代码3 项目: android-perftracking   文件: Util.java
/**
 * Check if the application is debuggable.
 *
 * <p>This method check if the application is signed by a debug key.
 * https://stackoverflow.com/questions/7085644/how-to-check-if-apk-is-signed-or-debug-build
 *
 * @param context application context
 * @return true if app is debuggable, false otherwise
 */
@RestrictTo(LIBRARY)
@VisibleForTesting(otherwise = PACKAGE_PRIVATE)
static boolean isAppDebuggable(@NonNull final Context context) {
  try {
    PackageManager packageManager = context.getPackageManager();
    PackageInfo packageInfo =
        packageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
    Signature[] signatures = packageInfo.signatures;

    CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");

    for (Signature signature : signatures) {
      ByteArrayInputStream stream = new ByteArrayInputStream(signature.toByteArray());
      X509Certificate cert = (X509Certificate) certificateFactory.generateCertificate(stream);
      String principal = cert.getSubjectX500Principal().toString().toUpperCase();
      return principal.contains("C=US")
          && principal.contains("O=ANDROID")
          && principal.contains("CN=ANDROID DEBUG");
    }
  } catch (Exception e) {
    // Things went south, anyway the app is not debuggable.
  }
  return false;
}
 
源代码4 项目: speechutils   文件: RecognitionServiceManager.java
public static ServiceInfo getServiceInfo(Context context, ComponentName recognizerComponentName) {
    try {
        PackageManager pm = context.getPackageManager();
        return pm.getServiceInfo(recognizerComponentName, PackageManager.GET_META_DATA);
    } catch (PackageManager.NameNotFoundException e) {
        // ignored
    }
    return null;
}
 
源代码5 项目: Status   文件: ColorUtils.java
private static List<Integer> getPrimaryColors(Context context, ComponentName componentName) {
    List<Integer> colors = new ArrayList<>();

    PackageManager packageManager = context.getPackageManager();

    ActivityInfo activityInfo = null;
    PackageInfo packageInfo = null;
    Resources resources = null, activityResources = null;
    try {
        packageInfo = packageManager.getPackageInfo(componentName.getPackageName(), PackageManager.GET_META_DATA);
        resources = packageManager.getResourcesForApplication(packageInfo.applicationInfo);
        activityInfo = packageManager.getActivityInfo(componentName, 0);
        activityResources = packageManager.getResourcesForActivity(componentName);
    } catch (PackageManager.NameNotFoundException ignored) {
    }

    if (packageInfo != null && resources != null) {
        if (activityInfo != null && activityResources != null) {
            colors.addAll(getStatusBarColors(activityInfo.packageName, resources, activityInfo.theme));
        }

        colors.addAll(getStatusBarColors(packageInfo.packageName, resources, packageInfo.applicationInfo.theme));

        if (packageInfo.activities != null) {
            for (ActivityInfo otherActivityInfo : packageInfo.activities) {
                colors.addAll(getStatusBarColors(packageInfo.packageName, resources, otherActivityInfo.theme));
            }
        }
    }

    return colors;
}
 
源代码6 项目: Hangar   文件: IconPackHelper.java
public static Map<String, IconPackInfo> getPickerPackages(Context context) {
    Intent i = new Intent();
    Map<String, IconPackInfo> packages = new HashMap<String, IconPackInfo>();
    PackageManager packageManager = context.getPackageManager();
    i.setAction(Settings.ACTION_ADW_PICK_ICON);
    for (ResolveInfo r : packageManager.queryIntentActivities(i, 0)) {
        IconPackInfo info = new IconPackInfo(r, packageManager);
        packages.put(r.activityInfo.packageName, info);
    }
    return packages;
}
 
源代码7 项目: ApkTrack   文件: ManifestHelper.java
private static String getMetaDataString(Context context, String name) {
    String value = null;

    PackageManager pm = context.getPackageManager();
    try {
        ApplicationInfo ai = pm.getApplicationInfo(context.getPackageName(),
                PackageManager.GET_META_DATA);
        value = ai.metaData.getString(name);
    } catch (Exception e) {
        Log.d("sugar", "Couldn't find config value: " + name);
    }

    return value;
}
 
源代码8 项目: Pixiv-Shaft   文件: Common.java
/**
 * 返回当前程序版本名
 */
public static String getAppVersionName(Context context) {
    String versionName=null;
    try {
        PackageManager pm = context.getPackageManager();
        PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
        versionName = pi.versionName;
    } catch (Exception e) {
        Log.e("VersionInfo", "Exception", e);
    }
    return versionName;
}
 
源代码9 项目: QuantumFlux   文件: ManifestHelper.java
private static String getMetaDataString(Context context, String name) {
    String value = null;

    PackageManager pm = context.getPackageManager();
    try {
        ApplicationInfo ai = pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
        value = ai.metaData.getString(name);
    } catch (Exception e) {
        QuantumFluxLog.d("Couldn't find config value: " + name);
    }

    return value;
}
 
源代码10 项目: MyBlogDemo   文件: BaseUtil.java
private static PackageInfo getPackageInfo(Context context) {
    PackageInfo pi = null;

    try {
        PackageManager pm = context.getPackageManager();
        pi = pm.getPackageInfo(context.getPackageName(),
                PackageManager.GET_CONFIGURATIONS);

        return pi;
    } catch (Exception e) {
        e.printStackTrace();
    }

    return pi;
}
 
源代码11 项目: COCOFramework   文件: Log.java
private static boolean isActivityAvailable(Context context, String className) {
    final PackageManager packageManager = context.getPackageManager();
    final Intent intent = new Intent();
    final String packageName = context.getApplicationInfo().packageName;
    intent.setClassName(packageName, className);
    List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;
}
 
源代码12 项目: BiliShare   文件: BaseQQShareHandler.java
private boolean isMobileQQSupportShare(Context context) {
    PackageManager packageManager = context.getPackageManager();
    PackageInfo packageInfo = null;
    try {
        packageInfo = packageManager.getPackageInfo("com.tencent.mobileqq", 0);
        return compareVersion(packageInfo.versionName, "4.1") >= 0;
    } catch (PackageManager.NameNotFoundException var4) {
        return false;
    }
}
 
源代码13 项目: GithubApp   文件: AppUtil.java
public static String getVersionName(Context context) {
    String versionName = "1.0";

    try {
        PackageManager pm = context.getPackageManager();
        PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
        return packageInfo.versionName;
    }
    catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }

    return versionName;
}
 
源代码14 项目: AutoCrashReporter   文件: AutoErrorReporter.java
private void recordInformations(Context context) {
	try {
		PackageManager pm = context.getPackageManager();
		PackageInfo pi;
		// Version
		pi = pm.getPackageInfo(context.getPackageName(), 0);
		versionName = pi.versionName;
		//buildNumber = currentVersionNumber(context);
		// Package name
		packageName = pi.packageName;

		// Device model
		phoneModel = Build.MODEL;
		// Android version
		androidVersion = Build.VERSION.RELEASE;

		board = Build.BOARD;
		brand = Build.BRAND;
		device = Build.DEVICE;
		display = Build.DISPLAY;
		fingerPrint = Build.FINGERPRINT;
		host = Build.HOST;
		id = Build.ID;
		model = Build.MODEL;
		product = Build.PRODUCT;
		manufacturer = Build.MANUFACTURER;
		tags = Build.TAGS;
		time = Build.TIME;
		type = Build.TYPE;
		user = Build.USER;

	} catch (Exception e) {
		e.printStackTrace();
	}
}
 
源代码15 项目: RememBirthday   文件: Constants.java
/**
 * Get the current package version.
 *
 * @return The current version.
 */
public static String getVersion(Context context) {
    String result;
    try {
        PackageManager manager = context.getPackageManager();
        PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);

        result = String.format("%s (%s)", info.versionName, info.versionCode);
    } catch (PackageManager.NameNotFoundException e) {
        Log.w(Utility.class.getSimpleName(), "Unable to getAutoSmsById application version", e);
        result = "Unable to getAutoSmsById application version.";
    }

    return result;
}
 
public static void initCalculators(Context context)
{
    SuntimesCalculatorDescriptor.addValue(com.forrestguice.suntimeswidget.calculator.sunrisesunset_java.SunriseSunsetSuntimesCalculator.getDescriptor());
    SuntimesCalculatorDescriptor.addValue(com.forrestguice.suntimeswidget.calculator.ca.rmen.sunrisesunset.SunriseSunsetSuntimesCalculator.getDescriptor());
    SuntimesCalculatorDescriptor.addValue(com.forrestguice.suntimeswidget.calculator.time4a.Time4ASimpleSuntimesCalculator.getDescriptor());
    SuntimesCalculatorDescriptor.addValue(com.forrestguice.suntimeswidget.calculator.time4a.Time4ANOAASuntimesCalculator.getDescriptor());
    SuntimesCalculatorDescriptor.addValue(com.forrestguice.suntimeswidget.calculator.time4a.Time4ACCSuntimesCalculator.getDescriptor());
    SuntimesCalculatorDescriptor.addValue(com.forrestguice.suntimeswidget.calculator.time4a.Time4A4JSuntimesCalculator.getDescriptor());

    boolean scanForPlugins = AppSettings.loadScanForPluginsPref(context);
    if (scanForPlugins)
    {
        PackageManager packageManager = context.getPackageManager();
        Intent packageQuery = new Intent(Intent.ACTION_RUN);    // get a list of installed plugins
        packageQuery.addCategory(CATEGORY_SUNTIMES_CALCULATOR);
        List<ResolveInfo> packages = packageManager.queryIntentActivities(packageQuery, PackageManager.GET_META_DATA);
        Log.i(LOGTAG, "Scanning for calculator plugins... found " + packages.size());

        for (ResolveInfo packageInfo : packages)
        {
            if (packageInfo.activityInfo != null
                    && packageInfo.activityInfo.metaData != null)
            {
                String calculatorName = packageInfo.activityInfo.metaData.getString(KEY_NAME);
                String calculatorDisplayString = packageInfo.activityInfo.metaData.getString(KEY_DISPLAYSTRING);
                String calculatorDisplayReference = packageInfo.activityInfo.metaData.getString(KEY_REFERENCE);
                int[] calculatorFeatures = parseFlags(packageInfo.activityInfo.metaData.getString(KEY_FEATURES));

                SuntimesCalculatorDescriptor descriptor = new SuntimesCalculatorDescriptor(calculatorName, calculatorDisplayString, calculatorDisplayReference, -1, calculatorFeatures);
                descriptor.setIsPlugin(true);
                SuntimesCalculatorDescriptor.addValue(descriptor);
                Log.i(LOGTAG, "..initialized calculator plugin: " + descriptor.toString());
            }
        }
    }

    initialized = true;
    //Log.d("CalculatorFactory", "Initialized suntimes calculator list.");
}
 
源代码17 项目: android-tv-launcher   文件: Tools.java
public static PackageInfo getAPKVersionInfo(Context context,
		String packageName) {
	PackageManager packageManager = context.getPackageManager();
	PackageInfo packInfo = null;
	try {
		packInfo = packageManager.getPackageInfo(packageName, 0);
	} catch (PackageManager.NameNotFoundException e) {
		e.printStackTrace();
	}
	return packInfo;
}
 
源代码18 项目: BlogDemo   文件: SkiaImageRegionDecoder.java
@Override
@NonNull
public Point init(Context context, @NonNull Uri uri) throws Exception {
    String uriString = uri.toString();
    if (uriString.startsWith(RESOURCE_PREFIX)) {
        Resources res;
        String packageName = uri.getAuthority();
        if (context.getPackageName().equals(packageName)) {
            res = context.getResources();
        } else {
            PackageManager pm = context.getPackageManager();
            res = pm.getResourcesForApplication(packageName);
        }

        int id = 0;
        List<String> segments = uri.getPathSegments();
        int size = segments.size();
        if (size == 2 && segments.get(0).equals("drawable")) {
            String resName = segments.get(1);
            id = res.getIdentifier(resName, "drawable", packageName);
        } else if (size == 1 && TextUtils.isDigitsOnly(segments.get(0))) {
            try {
                id = Integer.parseInt(segments.get(0));
            } catch (NumberFormatException ignored) {
            }
        }

        decoder = BitmapRegionDecoder.newInstance(context.getResources().openRawResource(id), false);
    } else if (uriString.startsWith(ASSET_PREFIX)) {
        String assetName = uriString.substring(ASSET_PREFIX.length());
        decoder = BitmapRegionDecoder.newInstance(context.getAssets().open(assetName, AssetManager.ACCESS_RANDOM), false);
    } else if (uriString.startsWith(FILE_PREFIX)) {
        decoder = BitmapRegionDecoder.newInstance(uriString.substring(FILE_PREFIX.length()), false);
    } else {
        InputStream inputStream = null;
        try {
            ContentResolver contentResolver = context.getContentResolver();
            inputStream = contentResolver.openInputStream(uri);
            decoder = BitmapRegionDecoder.newInstance(inputStream, false);
        } finally {
            if (inputStream != null) {
                try { inputStream.close(); } catch (Exception e) { /* Ignore */ }
            }
        }
    }
    return new Point(decoder.getWidth(), decoder.getHeight());
}
 
public static void setLauncherIconEnabled(Context context, boolean enabled) {
    PackageManager pm = context.getPackageManager();
    pm.setComponentEnabledSetting(new ComponentName(context, SettingsLauncherActivity.class),
            enabled ? COMPONENT_ENABLED_STATE_ENABLED : COMPONENT_ENABLED_STATE_DISABLED,
            DONT_KILL_APP);
}
 
源代码20 项目: effective_android_sample   文件: AppListFragment.java
public CardListAdapter(Context context) {
    super(context, 0);
    mInflater = LayoutInflater.from(context);
    packageManager = context.getPackageManager();
}
 
 方法所在类
 同类方法