Android獲取和判斷當前手機狀態和信息
判斷用戶是否開啟某個服務
public static boolean serviceIsStart(Context cont, String className) {
ActivityManager mActivityManager = (ActivityManager) cont
.getSystemService(cont.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager
.getRunningServices(30);
for (int i = 0; i < mServiceList.size(); i++) {
if (className.equals(mServiceList.get(i).service.getClassName())) {
return true;
}
}
return false;
}
判斷是否安裝了某個軟件
public static boolean isInstall(Context cont, String packName) {
PackageManager packageManager = cont.getPackageManager();
List<PackageInfo> list = packageManager
.getInstalledPackages(PackageManager.GET_PERMISSIONS);
for (PackageInfo packageInfo : list) {
if (packageInfo.packageName.equals(packName)) {
return true;
}
}
return false;
}
獲取手機串號唯一標示
public static String getMIEI(Context context) {
String MIEI;
TelephonyManager telephonemanage = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
try {
MIEI = telephonemanage.getDeviceId();
return MIEI;
} catch (Exception e) {
Log.i("error", e.getMessage());
return null;
}
}
獲取版本
public static int getVersionCode(Context context) throws Exception {
PackageManager packageManager = context.getPackageManager();
PackageInfo packInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
int version = packInfo.versionCode;
return version;
}
獲取手機內所有應用
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 = (PackageInfo) paklist.get(i);
// 判斷是否為非系統預裝的應用程序
if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {
// customs applications
apps.add(pak);
}
}
return apps;
}
通過包名獲取Apk名字
public static String getApkName(Context context, String packeName) {
PackageManager pManager = context.getPackageManager();
List<PackageInfo> appList = getAllApps(context);
for (int i = 0; i < appList.size(); i++) {
if (appList.get(i).packageName.equals(packeName)) {
return pManager.getApplicationLabel(
appList.get(i).applicationInfo).toString();
}
}
return null;
}
判斷手機GPS是否開啟
<span style="white-space:pre"> </span>public static boolean gpsIsOpen(Context context) {
LocationManager alm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if (alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {
return true;
}
return false;
}
判斷是手機品牌
public static boolean isHTC() {
String MODEL = android.os.Build.MODEL;
if (MODEL.contains("HTC")) {
return true;
} else
return false;
}
設置手機系統亮度
public static void setSystemLight(Activity activity, int light) {
ContentResolver cr = activity.getContentResolver();
Settings.System.putInt(cr, "screen_brightness", light);
Window window = activity.getWindow();
LayoutParams attributes = window.getAttributes();
float flevel = light;
attributes.screenBrightness = flevel / 255;
float x = attributes.screenBrightness;
activity.getWindow().setAttributes(attributes);
}
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!