當前位置: 首頁>>代碼示例>>Java>>正文


Java Application.getPackageManager方法代碼示例

本文整理匯總了Java中android.app.Application.getPackageManager方法的典型用法代碼示例。如果您正苦於以下問題:Java Application.getPackageManager方法的具體用法?Java Application.getPackageManager怎麽用?Java Application.getPackageManager使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.app.Application的用法示例。


在下文中一共展示了Application.getPackageManager方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getAppName

import android.app.Application; //導入方法依賴的package包/類
private static String getAppName(Application application, int pID) {
    String processName = null;
    ActivityManager am = (ActivityManager) application.getSystemService(Context.ACTIVITY_SERVICE);
    List l = am.getRunningAppProcesses();
    Iterator i = l.iterator();
    PackageManager pm = application.getPackageManager();
    while (i.hasNext()) {
        ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo) (i.next());
        try {
            if (info.pid == pID) {
                processName = info.processName;
                return processName;
            }
        } catch (Exception e) {
            // Log.d("Process", "Error>> :"+ e.toString());
        }
    }
    return processName;
}
 
開發者ID:angcyo,項目名稱:RLibrary,代碼行數:20,代碼來源:RApplication.java

示例2: hookPackageManager

import android.app.Application; //導入方法依賴的package包/類
/**
 * hookPackageManager
 *
 * @param application application
 */
private static void hookPackageManager(Application application) {
    try {
        Object currentActivityThread = HookCurrentActivityThread.getCurrentActivityThread(application);
        if (currentActivityThread != null) {
            Field sPackageManagerField = currentActivityThread.getClass().getDeclaredField("sPackageManager");
            sPackageManagerField.setAccessible(true);
            Object sPackageManager = sPackageManagerField.get(currentActivityThread);

            Class<?> iPackageManagerInterface = Class.forName("android.content.pm.IPackageManager");
            Object proxy = Proxy.newProxyInstance(iPackageManagerInterface.getClassLoader(),
                    new Class<?>[]{iPackageManagerInterface},
                    new HookPackageManagerHandler(sPackageManager));

            sPackageManagerField.set(currentActivityThread, proxy);

            PackageManager pm = application.getPackageManager();
            Field mPmField = pm.getClass().getDeclaredField("mPM");
            mPmField.setAccessible(true);
            mPmField.set(pm, proxy);
        }
    } catch (Exception e) {
        ApkLogger.get().debug("hookPackageManager Exception", e);
    }
}
 
開發者ID:LiangMaYong,項目名稱:android-apkbox,代碼行數:30,代碼來源:ApkHook.java

示例3: getFile

import android.app.Application; //導入方法依賴的package包/類
public JarFile getFile(Application app) {
    String packageName = app.getPackageName();
    PackageManager packageManager = app.getPackageManager();
    try {
        PackageInfo packageInfo = packageManager.getPackageInfo(packageName, 0);
        String sourceDir = packageInfo.applicationInfo.sourceDir;
        JarFile apkFile = new JarFile(sourceDir);
        return apkFile;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}
 
開發者ID:dmitrykolesnikovich,項目名稱:featurea,代碼行數:14,代碼來源:ApkFileUtil.java


注:本文中的android.app.Application.getPackageManager方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。