android应用后台安装,静默安装的代码实现方法。以及编译出来的apk
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-23 02:00 宸ョ▼鍜宎pk
目录 0 2011-12-23 01:31 宸ョ▼鍜宎pkinstallback2
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2src
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2assets
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
es
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2in
目录 0 2011-12-23 01:35 宸ョ▼鍜宎pkinstallback2gen
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2srccom
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esvalues
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
eslayout
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-ldpi
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-mdpi
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-hdpi
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2incom
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2srccomsmart
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2incomsmart
目录 0 2011-12-23 01:32 宸ョ▼鍜宎pkinstallback2srccomsmartInstallback
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2incomsmartInstallback
文件 2267910 2011-12-23 01:59 宸ョ▼鍜宎pkUC.apk
文件 18956 2011-12-23 01:58 宸ョ▼鍜宎pkInstallActivity.apk
文件 1034 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2proguard.cfg
文件 954 2011-09-14 00:45 宸ョ▼鍜宎pkinstallback2AndroidManifest.xml
文件 273 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2.classpath
文件 815 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2.project
文件 222 2011-09-13 10:11 宸ョ▼鍜宎pkinstallback2Android.mk
文件 360 2011-12-23 01:31 宸ョ▼鍜宎pkinstallback2project.properties
文件 6379 2011-09-14 07:21 宸ョ▼鍜宎pkinstallback2InstallApkQueue.java
文件 177 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esvaluesstrings.xml
文件 567 2011-09-13 10:04 宸ョ▼鍜宎pkinstallback2
eslayoutmain.xml
文件 1723 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-ldpiicon.png
文件 2574 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-mdpiicon.png
............此处省略16个文件信息
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 宸ョ▼鍜宎pkinstallback2
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2src
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2assets
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
es
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2in
目录 0 2011-12-23 01:35 宸ョ▼鍜宎pkinstallback2gen
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2srccom
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esvalues
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
eslayout
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-ldpi
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-mdpi
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-hdpi
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2incom
目录 0 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2srccomsmart
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2incomsmart
目录 0 2011-12-23 01:32 宸ョ▼鍜宎pkinstallback2srccomsmartInstallback
目录 0 2011-10-14 07:29 宸ョ▼鍜宎pkinstallback2incomsmartInstallback
文件 2267910 2011-12-23 01:59 宸ョ▼鍜宎pkUC.apk
文件 18956 2011-12-23 01:58 宸ョ▼鍜宎pkInstallActivity.apk
文件 1034 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2proguard.cfg
文件 954 2011-09-14 00:45 宸ョ▼鍜宎pkinstallback2AndroidManifest.xm
文件 273 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2.classpath
文件 815 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2.project
文件 222 2011-09-13 10:11 宸ョ▼鍜宎pkinstallback2Android.mk
文件 360 2011-12-23 01:31 宸ョ▼鍜宎pkinstallback2project.properties
文件 6379 2011-09-14 07:21 宸ョ▼鍜宎pkinstallback2InstallApkQueue.java
文件 177 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esvaluesstrings.xm
文件 567 2011-09-13 10:04 宸ョ▼鍜宎pkinstallback2
eslayoutmain.xm
文件 1723 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-ldpiicon.png
文件 2574 2011-09-13 10:01 宸ョ▼鍜宎pkinstallback2
esdrawable-mdpiicon.png
............此处省略16个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)