资源简介
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
相关资源
- AndroidStudio版直连sqlserver
- android带百分比进度条的文件上传,使
- 美食天下项目Android版源码和Web版源码
- Android之自定义ToggleButton使用
- Android非常漂亮的登录界面
- pc与android通过usb socket实现手机通信
- android毕业设计
- 百度地图自定义Markerandroid
- Android分区工具包
- android-support-v4.jar已打包进去源代码
- u-blox_Android_GNSS_Driver_v3.10驱动源码+中
- 个人根据Android移动开发案例详解手写
- android 视频播放器 项目和原码
- Android【动画】【特效】 17种动画特效
- 基于Android智能家居详细设计(经典)
- android通过JDBC连接Mysql数据库
- Android通讯录的源代码
- android 瀑布流Demo
- 指纹传感器FPC1080在android下的驱动
- delphi xe5 android 调用照相机摄像头拍照
- Android手机连连看游戏源码
- android-sdk-windows v2.3离线完整版
- android 底部弹出菜单(带透明背景)
- Android工程模式简介.rar
- Android蓝牙和Cors网络开发源码
- Android powermanger wakelock
- Android v7的一些jar包
- 最新android supportV7包
- android图片压缩工具类分享
- 单机搭建Android(解决Network is unreach
评论
共有 条评论