package com.hes.tools;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Environment;
import android.telephony.TelephonyManager;
public class PhoneInfo {
private static PhoneInfo info;
private Context mContext;
private TelephonyManager tm;
private PackageManager pm;
private PhoneInfo(Context context) {
this.mContext = context;
tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
pm = context.getPackageManager();
}
public static PhoneInfo getPhoneInfo(Context context) {
if (info == null) {
info = new PhoneInfo(context);
}
return info;
}
public String getIMEI() {
String imei = null;
imei = tm.getDeviceId();
return imei;
}
public String getIMSI() {
String imsi = null;
imsi = tm.getSubscriberId();
return imsi;
}
public String getApkPackageName(String path) {
PackageInfo info = pm.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
ApplicationInfo appInfo = null;
if (info != null) {
appInfo = info.applicationInfo;
String packageName = appInfo.packageName;
return packageName;
}
return null;
}
public void installAPK(String apkAbsolutePath) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(new File(apkAbsolutePath)), "application/vnd.android.package-archive");
mContext.startActivity(intent);
}
public void installAPK(File file) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
mContext.startActivity(intent);
}
public void uninstallAPK(String packageName) {
Uri packageURI = Uri.parse("package:" + packageName);
Intent uninstallIntent = new Intent("android.intent.action.DELETE", packageURI);
uninstallIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(uninstallIntent);
}
public String installApk(String apkAbsolutePath) {
String[] args = { "pm", "install", "-r", apkAbsolutePath };
String result = "";
ProcessBuilder processBuilder = new ProcessBuilder(args);
Process process = null;
InputStream errIs = null;
InputStream inIs = null;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int read = -1;
process = processBuilder.start();
errIs = process.getErrorStream();
while ((read = errIs.read()) != -1) {
baos.write(read);
}
baos.write(10);
inIs = process.getInputStream();
while ((read = inIs.read()) != -1) {
baos.write(read);
}
byte[] data = baos.toByteArray();
result = new String(data);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (errIs != null) {
errIs.close();
}
if (inIs != null)
inIs.close();
} catch (IOException e) {
e.printStackTrace();
}
if (process != null) {
process.destroy();
}
}
return result;
}
public String uninstallApk(String packageName) {
String[] args = { "pm", "uninstall", "-k", packageName };
String result = "";
ProcessBuilder processBuilder = new ProcessBuilder(args);
Process process = null;
InputStream errIs = null;
InputStream inIs = null;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int read = -1;
process = processBuilder.start();
errIs = process.getErrorStream();
while ((read = errIs.read()) != -1) {
baos.write(read);
}
baos.write(10);
inIs = process.getInputStream();
while ((read = inIs.read()) != -1) {
baos.write(read);
}
byte[] data = baos.toByteArray();
result = new String(data);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (errIs != null) {
errIs.close();
}
if (inIs != null)
inIs.close();
} catch (IOException e) {
e.printStackTrace();
}
if (process != null) {
process.destroy();
}
}
return result;
}
public boolean isSDCard() {
boolean isSDCard = false;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
isSDCard = true;
}
return isSDCard;
}
}
package com.hes.tools;
import java.io.InputStream;
import java.util.PropertyResourceBundle;
public class ResourceSetting {
private static ResourceSetting rs;
private static PropertyResourceBundle resourceBundle;
public static ResourceSetting getResourceSetting(String settingFileName) {
if (rs == null) {
rs = new ResourceSetting();
}
if (resourceBundle == null) {
resourceBundle = (PropertyResourceBundle) PropertyResourceBundle.getBundle(settingFileName);
}
return rs;
}
public static String getProperty(String key) {
return resourceBundle.getString(key);
}
public InputStream getResourceStream(String packageFile) {
return getClass().getResourceAsStream(packageFile);
}
}