Android应用参数的获取

package com.prtsdkapp;import java.lang.ref.WeakReference;import java.util.List;import android.app.ActivityManager;import android.app.ActivityManager.RunningAppProcessInfo;import android.app.ActivityManager.RunningTaskInfo;import android.content.Context;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.pm.PackageManager.NameNotFoundException;import android.util.Log;public class getContextParm {private static final String TAG = "ContextMgr";/** * 两个进程要共用sharedPreferences文件,则context要一样 * @param context * @return */public static Context getContext(Context context, String appPackageName) {// String packageName = "com.anyfish.app";WeakReference<Context> mContext = new WeakReference<Context>(context);Context con = mContext.get();try {Context contextApp = mContext.get().createPackageContext(appPackageName, 0);con = contextApp;} catch (NameNotFoundException e) {e.printStackTrace();}return con;}/** * 获取当前进程名称 * @param context * @return */public static String getCurProcessName(Context context) {Log.d(TAG, "getCurProcessName");int pid = android.os.Process.myPid();ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager.getRunningAppProcesses()) {if (appProcess.pid == pid) {Log.d(TAG, "getCurProcessName:" + appProcess.processName);return appProcess.processName;}}return null;}/** * 获取sdk版本号 * @return */public static int getSDKVersionNumber() {int sdkVersion;try {sdkVersion = Integer.valueOf(android.os.Build.VERSION.SDK);} catch (NumberFormatException e) {sdkVersion = 0;}return sdkVersion;}/** * 检测当前packageName程序是否属于前台程序 *  * @param app * @param appPackageName * @return */public static boolean isTopActivity(Context context, String appPackageName) {ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);if (tasksInfo.size() > 0) {if (tasksInfo.get(0).topActivity.getPackageName().contains(appPackageName)) {return true;}}return false;}/** * 判断当前packageName程序是否切换到后台了 * @param app * @param appPackageName * @return */public static boolean isBackgroundActivity(Context context,String appPackageName) {if (isTopActivity(context, appPackageName)) {return false;}ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<RunningAppProcessInfo> run = am.getRunningAppProcesses();for (RunningAppProcessInfo ra : run) {if (ra.processName.contains(appPackageName)&& !ra.processName.contains(appPackageName + ":")) {return true;}}return false;}/** * 判断程序是否安装 * @param context * @return */public static boolean isAppInstalled(Context context, String packageName) {Log.d(TAG, "isAppInstalled");PackageManager mPackageManager = context.getPackageManager();if (mPackageManager == null) {return false;}List<PackageInfo> pkgs = mPackageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);boolean installed = false;for (PackageInfo info : pkgs) {if (info.packageName.equals(packageName)) {installed = true;break;}}return installed;}}


更多相关文章

  1. Android获取apk的版本及包名等信息
  2. Android(安卓)简单的从本机获取相机功能 并且自动添加
  3. [Android]BroadcastQueue如何分发广播(四)
  4. android中获取包名,类名
  5. android获取版本号
  6. android 获取实际view 宽度高度
  7. Android蓝牙开发浅谈
  8. Android(安卓)获取通讯录联系人
  9. android View根据自己获取焦点的情况执行语句

随机推荐

  1. Android(安卓)Animation动画(Frame-By-Fra
  2. 2011.12.05(4)——— android JNI学习之三
  3. Android(安卓)动画框架代码分析
  4. Android(安卓)ProgressDialog 最佳处理方
  5. Error:(15) No resource identifier foun
  6. android执行外部程序,类似DELPHI里的EXEC
  7. android 读取,写入图片到sd卡源码
  8. Android(安卓)IPC 通讯机制源码分析 二
  9. linux下搭建android NDK开发环境
  10. 在 Android(安卓)上使用 XML