资源简介
android应用后台安装,静默安装的代码实现方法。以及编译出来的apk
代码片段和文件信息
package com.smart.store.util;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.util.Log;
import java.io.File;
import java.util.linkedList;
import android.content.pm.IPackageInstallObserver;
import android.content.pm.PackageParser;
/**
* this class for install apk on background and install one by one in queue
* easy use by addInstallApk(...) function
*/
public class InstallApkQueue {
public final static String Tag = InstallApkQueue.class.getName();
public static InstallApkQueue getInstance(Context ctx) {
if (null == mSelf) {
mSelf = new InstallApkQueue(ctx);
}
return mSelf;
}
public static PackageParser.Package getPackageInfo(Uri packageURI) {
final String archiveFilePath = packageURI.getPath();
PackageParser packageParser = new PackageParser(archiveFilePath);
File sourceFile = new File(archiveFilePath);
DisplayMetrics metrics = new DisplayMetrics();
metrics.setToDefaults();
PackageParser.Package pkg = packageParser.parsePackage(sourceFile
archiveFilePath metrics 0);
// Nuke the parser reference.
packageParser = null;
return pkg;
}
/**
* maybe not init this object before
*/
public static boolean addInstallApk(Uri packageUri
IInstallCallBack callBack) {
if (null == mSelf) {
return false;
} else {
mSelf.addInstallApkObj(packageUrigetPackageInfo(packageUri).applicationInfo.packageName callBack);
return true;
}
}
/**
* give Context when not init this object before will init this
*/
public static void addInstallApk(Context ctx Uri packageUri
IInstallCallBack callBack) {
if (null == mSelf) {
getInstance(ctx);
}
mSelf.addInstallApkObj(packageUri getPackageInfo(packageUri).applicationInfo.packageName callBack);
}
private static InstallApkQueue mSelf = null;
private InstallApkQueue(Context ctx) {
mContext = ctx;
init();
}
private Context mContext;
private Handler mHandler;
private ThreadWorker mThreadWorker;
private void init() {
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case INSTALL_COMPLETE:
if (msg.arg1 == PackageManager.INSTALL_SUCCEEDED) {
mCurrentObj._callBack.callBack(mCurrentObj._packageUri
mCurrentObj._packageName
PackageInstallResult.SUCC);
} else if (msg.arg1 == PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE) {
mCurrentObj._callBack.callBack(mCurrentObj._packageUri
mCurrentObj._packageName
PackageInstallResult.FAIL);
} else {
mCurrentObj._callBack.callBack(mCurrentObj._packageUri
mCurrentObj._packageName
PackageInstallResult.OTHER);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-23 02:00 宸ョ▼鍜宎pk\
目录 0 2011-12-23 01:31 宸ョ▼鍜宎pk\installback2\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\src\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\assets\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pk\installback2\bin\
目录 0 2011-12-23 01:35 宸ョ▼鍜宎pk\installback2\gen\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\src\com\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\values\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\layout\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\drawable-ldpi\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\drawable-mdpi\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\drawable-hdpi\
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pk\installback2\bin\com\
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\src\com\smart\
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pk\installback2\bin\com\smart\
目录 0 2011-12-23 01:32 宸ョ▼鍜宎pk\installback2\src\com\smart\Installback\
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pk\installback2\bin\com\smart\Installback\
文件 2267910 2011-12-23 01:59 宸ョ▼鍜宎pk\UC.apk
文件 18956 2011-12-23 01:58 宸ョ▼鍜宎pk\InstallActivity.apk
文件 1034 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\proguard.cfg
文件 954 2011-09-14 00:45 宸ョ▼鍜宎pk\installback2\AndroidManifest.xm
文件 273 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\.classpath
文件 815 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\.project
文件 222 2011-09-13 10:11 宸ョ▼鍜宎pk\installback2\Android.mk
文件 360 2011-12-23 01:31 宸ョ▼鍜宎pk\installback2\project.properties
文件 6379 2011-09-14 07:21 宸ョ▼鍜宎pk\installback2\InstallApkQueue.java
文件 177 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\values\strings.xm
文件 567 2011-09-13 10:04 宸ョ▼鍜宎pk\installback2\res\layout\main.xm
文件 1723 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\drawable-ldpi\icon.png
文件 2574 2011-09-13 10:01 宸ョ▼鍜宎pk\installback2\res\drawable-mdpi\icon.png
............此处省略16个文件信息
- 上一篇:简单JSP网上购物系统适合初学者
- 下一篇:itext-2.0.2.jar
相关资源
- android 图片浏览
- Pro Android学习:Fragment
- 基于Android手机平台的自助旅游系统的
- Android导出Excel
- 基于敏感权限及其函数调用图的Andr
- Android Auto HUIG v210
- wordpress for android源码
- android zigbee通信
- 测试样本APK
- android vold
- 经典android游戏源码打鸭子
- Android仿墨迹天气应用源码
- android 新浪微博源码
- 安卓贪吃蛇游戏
- 实践周 基于Android开发简易新闻客户端
- Android USB转串口编程
- Android仿微信底部菜单栏+顶部菜单栏
- Android毕业论文精选合集
- Android开发Beacon应用
- android 百度地图显示搜索城市和POI搜索
- android源码-高仿微信-UI界面程序
- android APP使用bmob云服务介绍
- Android实现两个手机间的通讯
- 基于Android的计步器app
- 基于netty与protobuf的Android手机视频实时
- Android项目源码跑步路线速度用时里程
- 经典的android 象棋源码,象棋规则完整
- Android手机终端点菜系统
- Android仿QQ局域网聊天软件源码
- android完整图书软件 项目源码-可加载
评论
共有 条评论