本文整理匯總了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;
}
示例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);
}
}
示例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;
}
}