我的应用程序基于多个应用程序(每个应用程序都有不同的 apk 签名)。我想安装一个 apk 并在一次确认后设备应安装“捆绑包”中的所有应用程序。
我设法安装了应用程序包,但每次安装后我都会在安装前进行确认(见下文)。
我需要这是一个无缝的过程,用户只需确认一次安装过程。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
installAPK(R.raw.apk0, 0);
}
private void installAPK(int apk, int apk_code) {
try {
InputStream in = this.getResources().openRawResource(apk);
byte[] b = new byte[in.available()];
int read = in.read(b);
// String tempFileName = "currentapk.apk";
FileOutputStream fout = openFileOutput(tempFileName,
MODE_WORLD_READABLE);
fout.write(b);
fout.close();
in.close();
File tempFile = getFileStreamPath(tempFileName);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(tempFile),
"application/vnd.android.package-archive");
startActivityForResult(Intent.createChooser(intent, "install"),
apk_code);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
File tempFile = getFileStreamPath(tempFileName);
if (tempFile.delete()) {
Log.d("******PACKAGING******", "FILE DELETED!");
}
switch (requestCode) {
case 0: {
installAPK(R.raw.apk1, 1);
break;
}
case 1: {
installAPK(R.raw.apk2, 2);
break;
}
case 2: {
installAPK(R.raw.apk3, 3);
break;
}
知道如何通过仅提示用户一次来安装它吗?