优化安装xapk,不成功
This commit is contained in:
@@ -566,6 +566,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
Toaster.show("文件不存在");
|
||||
return;
|
||||
}
|
||||
|
||||
XapkUtils xapkUtils =new XapkUtils(MainActivity.this);
|
||||
xapkUtils.setApkFilePath(file.getAbsolutePath());
|
||||
xapkUtils.installXapk();
|
||||
@@ -579,6 +580,14 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
// if (xapkInstaller != null) {
|
||||
// xapkInstaller.installXapk(MainActivity.this);
|
||||
// }
|
||||
// try {
|
||||
// XapkUtils.unzipXapk(MainActivity.this, file);
|
||||
// File outputDir = new File(getExternalCacheDir(), "xapk_unzip");
|
||||
// XapkUtils.installXapk(MainActivity.this, outputDir);
|
||||
// } catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
private void requestPackageInstalls() {
|
||||
|
||||
@@ -96,7 +96,7 @@ public class XapkUtils {
|
||||
if (ZipUtil.containsEntry(mApkFile, "manifest.json")) {
|
||||
//判断json文件是否存在
|
||||
String dirName = FileUtils.getFileNoExName(mApkFile.getAbsolutePath());
|
||||
mUnpackPath = mContext.getExternalCacheDir()+ File.separator + "xapk_unzip" + File.separator + dirName;
|
||||
mUnpackPath = mContext.getExternalCacheDir() + File.separator + "xapk_unzip" + File.separator + dirName;
|
||||
File unpackDir = new File(mUnpackPath);
|
||||
ZipUtil.unpack(mApkFile, unpackDir);
|
||||
String jsonString = JsonUtils.readJsonFile(unpackDir.getAbsolutePath() + File.separator + "manifest.json");
|
||||
@@ -304,7 +304,6 @@ public class XapkUtils {
|
||||
Toaster.show("正在安装应用");
|
||||
install(packageInstaller, sessionId, mContext);
|
||||
// }
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,10 +314,9 @@ public class XapkUtils {
|
||||
|
||||
// Intent intent = new Intent(context, InstallResultReceiver.class);
|
||||
// PendingIntent pendingIntent = PendingIntent.getBroadcast(
|
||||
// context,
|
||||
// 0, intent,
|
||||
// PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT
|
||||
// context, sessionId, intent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT
|
||||
// );
|
||||
|
||||
Intent intent = new Intent(mContext, InstallActivity.class);
|
||||
intent.setAction(PACKAGE_INSTALLED_ACTION);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, 0);
|
||||
|
||||
Reference in New Issue
Block a user