一 : 浅安˙静默
此岸,静默。彼岸,隔云相望。念,是一朵置在心底的花,兀自清欢着。若时光忘记了,但愿文字能帮我们记住这些温暖!
夜,阑珊。风,丝丝缕缕的从梦的指尖滑过,沙漏的华年,一点点地消匿起淡青色的印痕。
习惯的清冷飘渺了所有的情深。悠悠锦瑟叹相忘,弦弦寂寥几叠殇,终究不得婉转。
许,青鸟停驻的光年,终是凉了几许冷冬梦寒。
远处,灯火阑珊,近处,喧嚣荡尽,我走在梦的边缘。听,一滴泪绻缩在流光溢彩的过往里,悸动了夜。
也许,今生,我便是一只飞不过沧海的蝶,伫立寂寞此岸,遥望盛世彼岸。谁的眉间,轻锢着旧年的烟尘?漫过轻羽的忧伤,凝不住月色下的影子。那隐藏在眸底的情愫,是指尖豆蔻的华光,一念成词,一恋成蛊。青丝牵做缕,婀婷落尘缘,盈盈一涧水,晕却了人间四月天。月寂如沙,谁怜憔悴更凋零,经年的守望,落幕在夜的枝头,纤弱成一朵含泪的梦。
尘世间,锦瑟无端叹几弦,弦弦叹相忘,烟花堪剪阑珊梦,梦梦凝情依。是不懂还是无解?休也,痴也,临照水岸,惊颤一地风絮,斑驳的思绪,辨不清是现实,还是梦萦。
曾经,执笔撰写的小令,在簪花的指尖散落成满地飞絮。掬一捧梦呓的惆怅,在纷乱的尘世里孑然。错落的缱绻牵绊,系不住纤梦的希翼,一朵欢颜,袅化成唇边一缕叹息。
夜色深浓,万物静默,那是谁的影子正沿着风的方向缓缓而来,凉凉地,抖落一片记忆。
轮回的渡口,你的倾城一笑曾深锁了此时的山水情长。遇见,是辗转与心底的一抹疼惜与不舍。指间轻触烟雨上的流光,剪不断放不下。然,终究只是一场邂逅,流水的锦瑟,画不出一个完好的圆。
那些铭心的过往,不过是在一朵花开的时间,恰巧途径了彼此的盛放。
很想,在薄如蝉翼的烟色里,勾勒一缕最柔情的蝶语,任掌心的印记飘渺成风的清幽,那被浅浅踏过的跫音,薰暖了檀香的笔墨。
很想,用弹指间的刹那换一世风华,即使之后,身影终将沉寂成秋塘里一弦清月,那一地白月光,也是弦歌如水的浪漫。
低眉,蓄一弯晶莹的泪水,只为这不曾错过的美丽。
若,能在流年的渡口再相遇,桃花嘤嘤,山水烟波。
你回眸,道一声,恰如初见,便是莞尔岁月里最美的盛开。
六年级:2278110949
二 : Android静默安装和静默卸载
61阅读/ www.61k.net
静默顾名思义就是静静的默默地,静默安装和静默卸载的意思也就是说在后台默默地安装和卸载。
最近的一个app应用分发的项目中app下载的模块,下载完成之后,用户可以通过这个app进行安装,为了提高用户的体验,我就加入了静默安装和卸载功能,然后还加入了使用am命令启动某个Activity。
这个项目中静默的方式实现代码如下:
首先判断是否有root权限,如果有利用静默方式,否则利用意图实现app安装和卸载操作。
package com.example.test;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import android.content.Context;import android.content.Intent;import android.net.Uri;/** * 描述: app安装操作 * @author 吴传龙 * Email:andywuchuanlong@sina.cn * QQ: 3026862225 * @version 创建时间: 2015年3月6日 下午3:51:14 * @version 最后修改时间:2015年3月6日 下午3:51:14 修改人:吴传龙 */public class ApkController {/** * 描述: 安装 * 修改人: 吴传龙 * 最后修改时间:2015年3月8日 下午9:07:50 */public static boolean install(String apkPath,Context context){// 先判断手机是否有root权限if(hasRootPerssion()){// 有root权限,利用静默安装实现return clientInstall(apkPath);}else{// 没有root权限,利用意图进行安装File file = new File(apkPath);if(!file.exists())return false; Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");context.startActivity(intent);return true;}}/** * 描述: 卸载 * 修改人: 吴传龙 * 最后修改时间:2015年3月8日 下午9:07:50 */public static boolean uninstall(String packageName,Context context){if(hasRootPerssion()){// 有root权限,利用静默卸载实现return clientUninstall(packageName);}else{Uri packageURI = Uri.parse("package:" + packageName);Intent uninstallIntent = new Intent(Intent.ACTION_DELETE,packageURI);uninstallIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(uninstallIntent);return true;}}/** * 判断手机是否有root权限 */private static boolean hasRootPerssion(){PrintWriter PrintWriter = null;Process process = null;try {process = Runtime.getRuntime().exec("su");PrintWriter = new PrintWriter(process.getOutputStream());PrintWriter.flush();PrintWriter.close();int value = process.waitFor(); return returnResult(value);} catch (Exception e) {e.printStackTrace();}finally{if(process!=null){process.destroy();}}return false;}/** * 静默安装 */private static boolean clientInstall(String apkPath){PrintWriter PrintWriter = null;Process process = null;try {process = Runtime.getRuntime().exec("su");PrintWriter = new PrintWriter(process.getOutputStream());PrintWriter.println("chmod 777 "+apkPath);PrintWriter.println("export LD_LIBRARY_PATH=/vendor/lib:/system/lib");PrintWriter.println("pm install -r "+apkPath);//PrintWriter.println("exit");PrintWriter.flush();PrintWriter.close();int value = process.waitFor(); return returnResult(value);} catch (Exception e) {e.printStackTrace();}finally{if(process!=null){process.destroy();}}return false;}/** * 静默卸载 */private static boolean clientUninstall(String packageName){PrintWriter PrintWriter = null;Process process = null;try {process = Runtime.getRuntime().exec("su");PrintWriter = new PrintWriter(process.getOutputStream());PrintWriter.println("LD_LIBRARY_PATH=/vendor/lib:/system/lib ");PrintWriter.println("pm uninstall "+packageName);PrintWriter.flush();PrintWriter.close();int value = process.waitFor(); return returnResult(value); } catch (Exception e) {e.printStackTrace();}finally{if(process!=null){process.destroy();}}return false;}/** * 启动app * com.exmaple.client/.MainActivity * com.exmaple.client/com.exmaple.client.MainActivity */public static boolean startApp(String packageName,String activityName){boolean isSuccess = false;String cmd = "am start -n " + packageName + "/" + activityName + " n";Process process = null;try { process = Runtime.getRuntime().exec(cmd); int value = process.waitFor(); return returnResult(value);} catch (Exception e) { e.printStackTrace();} finally{if(process!=null){process.destroy();}}return isSuccess;}private static boolean returnResult(int value){// 代表成功 if (value == 0) {return true;} else if (value == 1) { // 失败return false;} else { // 未知情况return false;} }}
package com.example.test;import java.io.File;import android.support.v4.app.Fragment;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.Toast;import android.os.Build;/** * 描述: MainActivity * @author 吴传龙 * Email:andywuchuanlong@sina.cn * QQ: 3026862225 * @version 创建时间: 2015年3月9日 上午8:19:19 * @version 最后修改时间:2015年3月9日 上午8:19:19 修改人:吴传龙 */public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/** * 描述: 安装 * @param * 修改人: 吴传龙 * 最后修改时间:2015年3月9日 上午8:19:30 */public void click1(View view){new Thread(){public void run() {String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/jniTest.apk";if (ApkController.install(path, getApplicationContext())){toast("安裝成功");}else{toast("安裝失败");}};}.start();}/** * 描述: 卸载 * @param * 修改人: 吴传龙 * 最后修改时间:2015年3月9日 上午8:19:30 */public void click2(View view){new Thread(){public void run() {if (ApkController.uninstall("com.example.jnitest", getApplicationContext())){toast("卸載成功");}else{toast("卸載失败");}};}.start();}/** * 描述: 启动 * @param * 修改人: 吴传龙 * 最后修改时间:2015年3月9日 上午8:19:30 */public void click3(View view){if (ApkController.startApp("com.example.jnitest","com.example.jnitest.MainActivity")) {toast("啟動成功");}}public void toast(final String text){runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();;}});}}
三 : 静默安装全解析教程
1:什么是静默安装四 : 静默安装全解析教程
1:什么是静默安装61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1