获取系统信息的功能类
2013-10-15 10:22
309 查看
记录一个常用的系统功能类
package com.tencent.common; import android.app.ActivityManager; import android.app.ActivityManager.RunningServiceInfo; import android.app.ActivityManager.RunningTaskInfo; import android.app.Notification; import android.app.NotificationManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import android.os.Build.VERSION; import android.os.Vibrator; import android.telephony.TelephonyManager; import android.view.Display; import android.view.WindowManager; import com.tencent.data.CLoginManager; import com.tencent.data.CLoginManager.CUserInfo; import com.tencent.debug.QLog; import com.tencent.foundation.connection.TPNetworkMonitor; import com.tencent.portfolio.CSplashActivity; import com.tencent.portfolio.CStockTransforActivity; import java.io.File; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Iterator; import java.util.List; import java.util.Random; public class CConfiguration { private static final String CHANNEL_ID = "18"; public static boolean QQStockAcitivityIsInForeground = false; public static final boolean __env_use_release_server_urls = true; public static Context applicationContext = null; public static boolean isDebugVersion = false; public static final String kProjectEncoding = "utf-8"; private static CSize screenSize = new CSize(); private static TPNetworkMonitor sharedNetworkMonitor; private static SharedPreferences sharedPreferences = null; static { sharedNetworkMonitor = null; } public static String combianMIGReport(String paramString) { StringBuffer localStringBuffer; if (paramString.contains("?")) if (paramString.endsWith("&")) localStringBuffer = new StringBuffer(paramString); try { localStringBuffer.append("_appName=").append("android").append("&"); localStringBuffer.append("_dev=").append(URLEncoder.encode(getDeviceName(), "UTF-8")).append("&"); localStringBuffer.append("_devId=").append(getIMEI()).append("&"); localStringBuffer.append("_appver=").append(getAppVersion()).append("&"); localStringBuffer.append("_ifChId=").append(getChannelID()).append("&"); localStringBuffer.append("_osVer=").append(URLEncoder.encode(getOSVersion(), "UTF-8")).append("&"); CLoginManager.CUserInfo localCUserInfo = CLoginManager.shared().getUserInfo(); if (localCUserInfo != null); for (String str1 = localCUserInfo.getUin(); ; str1 = "10000") { localStringBuffer.append("_uin=").append(str1); String str2 = localStringBuffer.toString(); return str2; if (paramString.endsWith("?")) { localStringBuffer = new StringBuffer(paramString); break; } localStringBuffer = new StringBuffer(paramString + "&"); break; if ((paramString.endsWith("/")) || (paramString.endsWith("&"))) { localStringBuffer = new StringBuffer(paramString.substring(0, -1 + paramString.length()) + "?"); break; } localStringBuffer = new StringBuffer(paramString + "?"); break; } } catch (UnsupportedEncodingException localUnsupportedEncodingException) { } return paramString; } public static String getAppName() { return "finance_portfolio"; } public static String getAppVersion() { String str = applicationContext.getString(2131230810); if (str == null) str = "2.7.1"; return str; } public static String getBrand() { return Build.BRAND; } public static String getCarrierName() { TelephonyManager localTelephonyManager = (TelephonyManager)applicationContext.getSystemService("phone"); if (localTelephonyManager == null) return ""; return localTelephonyManager.getSimOperatorName(); } public static String getChannelID() { return "18"; } public static String getDeviceName() { return Build.DEVICE; } public static String getIMEI() { String str = ((TelephonyManager)applicationContext.getSystemService("phone")).getDeviceId(); if (str != null) return str; return ""; } public static Bitmap getImage(String paramString, int paramInt) { return BitmapFactory.decodeFile(CPath.getFullPath(paramString, paramInt)); } public static int getNetworkType() { return sharedNetworkMonitor().getNetworkType(); } public static String getNetworkTypeDesc() { return sharedNetworkMonitor().getNetworkTypeDesc(); } public static String getOSVersion() { return Build.VERSION.RELEASE; } public static int getOSVersionInt() { return Build.VERSION.SDK_INT; } public static CSize getScreenSize() { Display localDisplay = ((WindowManager)applicationContext.getSystemService("window")).getDefaultDisplay(); screenSize.width = localDisplay.getWidth(); screenSize.height = localDisplay.getHeight(); return screenSize; } public static String getScreenSizeStr() { CSize localCSize = getScreenSize(); Object[] arrayOfObject = new Object[2]; arrayOfObject[0] = Integer.valueOf((int)localCSize.width); arrayOfObject[1] = Integer.valueOf((int)localCSize.height); return String.format("%d_%d", arrayOfObject); } public static SharedPreferences getSharedPreferences() { if (sharedPreferences == null) sharedPreferences = applicationContext.getSharedPreferences("qqstock", 0); return sharedPreferences; } public static String getUniqueID() { boolean bool = true; String str1 = CPath.getFullPath("unique_id.value", 8577915); String str2 = (String)CFileHandle.readObjectFromPath(str1); TelephonyManager localTelephonyManager; if (str2 == null) { WifiManager localWifiManager = (WifiManager)applicationContext.getSystemService("wifi"); if (localWifiManager != null) { WifiInfo localWifiInfo = localWifiManager.getConnectionInfo(); if (localWifiInfo != null) str2 = localWifiInfo.getMacAddress(); } if (str2 == null) { localTelephonyManager = (TelephonyManager)applicationContext.getSystemService("phone"); if (localTelephonyManager != null) break label138; str2 = null; } if (str2 == null) { Object[] arrayOfObject = new Object[bool]; arrayOfObject[0] = Integer.valueOf(CRandom.getRandomNum(10000)); str2 = String.format("android_device_id_%d", arrayOfObject); } if (str2 == null) break label147; } while (true) { QLog.Assert(bool, "逻辑错误"); str2 = CMD5Util.md5String(str2); CFileHandle.writeObjectToPath(str2, str1); return str2; label138: str2 = localTelephonyManager.getDeviceId(); break; label147: bool = false; } } public static String getUserAgent() { Object[] arrayOfObject = new Object[2]; arrayOfObject[0] = getAppVersion(); arrayOfObject[1] = getOSVersion(); return String.format("qqstock/%s android/%s", arrayOfObject); } public static void gotoWIFISetting() { sharedNetworkMonitor().gotoWIFISetting(); } public static void installApp(Context paramContext, String paramString) { Intent localIntent = new Intent(); localIntent.setDataAndType(Uri.fromFile(new File(paramString)), "application/vnd.android.package-archive"); paramContext.startActivity(localIntent); } public static boolean isActivityInScreenFront(String paramString) { ActivityManager localActivityManager = (ActivityManager)applicationContext.getSystemService("activity"); if (localActivityManager.getRunningTasks(10).size() <= 0) return false; boolean bool1 = ((ActivityManager.RunningTaskInfo)localActivityManager.getRunningTasks(1).get(0)).topActivity.getClassName().equals(paramString); boolean bool2 = false; if (bool1) bool2 = true; return bool2; } public static boolean isAppInstalled(Context paramContext, String paramString1, String paramString2) { List localList = paramContext.getPackageManager().getInstalledPackages(0); if (localList != null); for (int i = 0; ; i++) { if (i < localList.size()) { String str1 = ((PackageInfo)localList.get(i)).packageName; String str2 = ((PackageInfo)localList.get(i)).versionName; if ((str1 == null) || (!str1.equals(paramString1))) continue; QLog.d("Package[" + paramString1 + "]:is installed."); if ((paramString2 != null) && (!paramString2.equals("")) && (!paramString2.equalsIgnoreCase(str2))) QLog.d("Package versionName [" + str2 + "]"); } else { return false; } return true; } } public static boolean isServiceRunning(String paramString) { List localList = ((ActivityManager)applicationContext.getSystemService("activity")).getRunningServices(50); if (localList.size() <= 0) return false; for (int i = 0; ; i++) { int j = localList.size(); boolean bool = false; if (i < j) { if (((ActivityManager.RunningServiceInfo)localList.get(i)).service.getClassName().equals(paramString) == true) bool = true; } else return bool; } } public static boolean isTaskInScreenFront(String paramString) { ActivityManager localActivityManager = (ActivityManager)applicationContext.getSystemService("activity"); ComponentName localComponentName = ((ActivityManager.RunningTaskInfo)localActivityManager.getRunningTasks(1).get(0)).topActivity; if ((((ActivityManager.RunningTaskInfo)localActivityManager.getRunningTasks(1).get(0)).numActivities == 1) && (((ActivityManager.RunningTaskInfo)localActivityManager.getRunningTasks(1).get(0)).topActivity.getClassName().equals(CStockTransforActivity.class.getName()))) return false; return localComponentName.getPackageName().equalsIgnoreCase(paramString); } public static boolean isTaskRunning(String paramString) { boolean bool = false; ActivityManager localActivityManager = (ActivityManager)applicationContext.getSystemService("activity"); List localList = localActivityManager.getRunningTasks(10); if (localList.size() <= 0) return false; if ((((ActivityManager.RunningTaskInfo)localActivityManager.getRunningTasks(1).get(0)).numActivities == 2) && (((ActivityManager.RunningTaskInfo)localActivityManager.getRunningTasks(1).get(0)).topActivity.getClassName().equals(CStockTransforActivity.class.getName()))) return false; for (int i = 0; i < localList.size(); i++) if (((ActivityManager.RunningTaskInfo)localList.get(i)).baseActivity.getPackageName().equalsIgnoreCase(paramString)) bool = true; return bool; } public static int playDefaultBell() { NotificationManager localNotificationManager = (NotificationManager)applicationContext.getSystemService("notification"); Notification localNotification = new Notification(); localNotification.defaults = 1; int i = new Random(System.currentTimeMillis()).nextInt(2147483647); localNotificationManager.notify(i, localNotification); return i; } private static TPNetworkMonitor sharedNetworkMonitor() { if (sharedNetworkMonitor == null) sharedNetworkMonitor = new TPNetworkMonitor(applicationContext); return sharedNetworkMonitor; } public static void shortVibrate() { ((Vibrator)applicationContext.getSystemService("vibrator")).vibrate(new long[] { 20L, 800L, 300L, 300L }, -1); } public static void startApkActivity(Context paramContext, String paramString) { startApkActivity(paramContext, paramString, false); } public static void startApkActivity(Context paramContext, String paramString, boolean paramBoolean) { PackageManager localPackageManager = paramContext.getPackageManager(); try { PackageInfo localPackageInfo = localPackageManager.getPackageInfo(paramString, 0); Intent localIntent = new Intent("android.intent.action.MAIN", null); localIntent.addCategory("android.intent.category.LAUNCHER"); if (paramBoolean) { localIntent.setFlags(67108864); localIntent.setFlags(268435456); } while (true) { localIntent.setPackage(localPackageInfo.packageName); ResolveInfo localResolveInfo = (ResolveInfo)localPackageManager.queryIntentActivities(localIntent, 0).iterator().next(); if (localResolveInfo == null) break; localIntent.setComponent(new ComponentName(paramString, localResolveInfo.activityInfo.name)); paramContext.startActivity(localIntent); return; localIntent.setFlags(270532608); } } catch (PackageManager.NameNotFoundException localNameNotFoundException) { QLog.e("NameNotFoundException", localNameNotFoundException); } } public static void startSelf(Context paramContext) { Intent localIntent = new Intent(paramContext, CSplashActivity.class); localIntent.setAction("android.intent.action.MAIN"); localIntent.addCategory("android.intent.category.LAUNCHER"); localIntent.setFlags(270532608); paramContext.startActivity(localIntent); } public static class CSize { public float height = 0.0F; public float width = 0.0F; public CSize() { } public CSize(float paramFloat1, float paramFloat2) { this.width = paramFloat1; this.height = paramFloat2; } } }
[align=left]更多的移动互联网的发展趋势、app开发、移动互联网应用相关的资料请到互联网的一点事:www.yidin.net 留言[/align] [align=left]android QQ群:222392467[/align] [align=left]资料:[/align] www.2naa.com [align=left]http://www.yidin.net/?p=8280[/align] [align=left]http://www.yidin.net/?p=9725[/align] http://my.oschina.net/yidinshi/blog/133729 |
相关文章推荐
- C#编程获取客户端计算机硬件及系统信息功能示例
- 运用百度地图API离线版(在线版)实现网管系统中终端定位和终端信息获取的功能
- 一步一步实现web程序信息管理系统之三----登陆业务逻辑实现(验证码功能+参数获取)
- Android小功能 -- 获取系统内存信息以及进程信息
- Inxi:一个功能强大的获取Linux系统信息的命令行工具
- 动态获取Nhibernate的ORM配置信息,实现系统历史记录功能
- 使用Java实现B/S系统常见的获取客户端信息功能!
- Android中获取系统的一些信息以及一些小功能
- EnumDisplayDevices功能可让您获取有关系统中显示设备的信息
- 使用Java实现B/S系统常见的获取客户端信息功能!
- Inxi:一个功能强大的获取 Linux 系统信息的命令行工具
- WP8.1StoreApp(WP8.1RT)---添加推送功能和获取系统信息
- Inxi:一个功能强大的获取 Linux 系统信息的命令行工具
- ios开发之 -- 调用系统定位获取当前经纬度与地理信息
- 获取系统信息
- corethink功能模块探索开发(八)净化后台首页的系统信息
- Linux 程序获取文件系统挂载信息
- c#获取xp系统信息的几种方法
- 获取系统剩余可用内存信息
- android系统中使用TelephonyManager类来获取imei号和其他手机信息