=图片==========================
public byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {
ByteArrayOutputStream output = new ByteArrayOutputStream();
bmp.compress(CompressFormat.PNG, 100, output); if (needRecycle) {
bmp.recycle();
} byte[] result = output.toByteArray(); try {
output.close();
} catch (Exception e) {
e.printStackTrace();
} return result;
}
public Bitmap loadBitmap(Resources res, int id) {
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
InputStream is = res.openRawResource(id);// 获取资源图片
return BitmapFactory.decodeStream(is, null, opt);
}
public void saveBitmapToFile(String url, String filePath) {
File iconFile = new File(filePath); if (!iconFile.getParentFile().exists()) {
iconFile.getParentFile().mkdirs();
} if (iconFile.exists() && iconFile.length() > 0) { return;
}
FileOutputStream fos = null;
InputStream is = null; try {
fos = new FileOutputStream(filePath);
is = new URL(url).openStream(); int data = is.read(); while (data != -1) {
fos.write(data);
data = is.read();
}
} catch (IOException e) {
e.printStackTrace();
} finally { try { if (is != null) {
is.close();
} if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
=系统==============================
#根据包名打开一个应用程序 public boolean openApp(String packageName) {
PackageInfo pi = null; try {
pi = mPM.getPackageInfo(packageName, 0);
} catch (NameNotFoundException e) {
e.printStackTrace(); return false;
} if (pi == null) { return false;
}
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
List<ResolveInfo> apps = mPM.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = null; try {
ri = apps.iterator().next();
} catch (Exception e) { return true;
} if (ri != null) {
String tmpPackageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(tmpPackageName, className);
intent.setComponent(cn);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MarketApplication.getMarketApplicationContext().startActivity(
intent);
} else { return false;
} return true;
}
public boolean checkApkExist(Context context, String packageName) { if (packageName == null || "".equals(packageName)) return false; try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES); return true;
} catch (NameNotFoundException e) { return false;
} catch (NullPointerException e) { return false;
}
}
public void installApk(Context context, String strFileAllName) {
File file = new File(strFileAllName);
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
String type = "application/vnd.android.package-archive";
intent.setDataAndType(Uri.fromFile(file), type);
context.startActivity(intent);
}
public void UninstallApk(Context context, String strPackageName) {
Uri packageURI = Uri.parse("package:" + strPackageName);
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
context.startActivity(uninstallIntent);
}
public boolean CheckSD() { if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) { return true;
} else { return false;
}
}
public void createShortCut(Context contxt) { // if (isInstallShortcut()) {// 如果已经创建了一次就不会再创建了
// return;
// }
Intent sIntent = new Intent(Intent.ACTION_MAIN);
sIntent.addCategory(Intent.CATEGORY_LAUNCHER);// 加入action,和category之后,程序卸载的时候才会主动将该快捷方式也卸载
sIntent.setClass(contxt, Login.class);
Intent installer = new Intent();
installer.putExtra("duplicate", false);
installer.putExtra("android.intent.extra.shortcut.INTENT", sIntent);
installer.putExtra("android.intent.extra.shortcut.NAME", "名字");
installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE",
Intent.ShortcutIconResource
.fromContext(contxt, R.drawable.icon));
installer.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
contxt.sendBroadcast(installer);
}
private boolean isInstallShortcut() { boolean isInstallShortcut = false; final ContentResolver cr = MarketApplication
.getMarketApplicationContext().getContentResolver();
String AUTHORITY = "com.android.launcher.settings";
Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/favorites?notify=true");
Cursor c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" }, "title=?", new String[] { "名字" }, null); if (c != null && c.getCount() > 0) {
isInstallShortcut = true;
} if (c != null) {
c.close();
} if (isInstallShortcut) { return isInstallShortcut;
}
AUTHORITY = "com.android.launcher2.settings";
CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/favorites?notify=true");
c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" }, "title=?", new String[] { "名字" }, null); if (c != null && c.getCount() > 0) {
isInstallShortcut = true;
} if (c != null) {
c.close();
}
AUTHORITY = "com.baidu.launcher";
CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/favorites?notify=true");
c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" }, "title=?", new String[] { "名字" }, null); if (c != null && c.getCount() > 0) {
isInstallShortcut = true;
} if (c != null) {
c.close();
} return isInstallShortcut;
}
private String StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regEx = "[`~!@#$%^&*()+=|{}':;',//[//].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str); return m.replaceAll("").trim();
}
public int execRootCmdSilent(String cmd) { int result = -1;
DataOutputStream dos = null; try {
Process p = Runtime.getRuntime().exec("su");
dos = new DataOutputStream(p.getOutputStream());
dos.writeBytes(cmd + "\n");
dos.flush();
dos.writeBytes("exit\n");
dos.flush();
p.waitFor();
result = p.exitValue();
} catch (Exception e) {
e.printStackTrace();
} finally { if (dos != null) { try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} return result;
}
public String getFileMD5(File file) { if (!file.isFile()) { return null;
}
MessageDigest digest = null;
FileInputStream in = null; byte buffer[] = new byte[1024]; int len; try {
digest = MessageDigest.getInstance("MD5");
in = new FileInputStream(file); while ((len = in.read(buffer, 0, 1024)) != -1) {
digest.update(buffer, 0, len);
}
} catch (Exception e) {
e.printStackTrace(); return null;
} finally { if (in != null) { try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
BigInteger bigInt = new BigInteger(1, digest.digest()); return bigInt.toString(16);
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有