我的应用程序必须重新安装自己。我设法做到了。但是,我有一个无法解决的问题。
当用户点击安装弹出窗口之外的某个位置并且安装仍在进行时,安装弹出窗口将关闭。问题在于用户可以使用应用程序一段时间,直到由于安装完成而突然关闭应用程序。我想以某种方式避免这种情况。
所以,主要问题是如何检测是否正在进行安装?
为了使事情变得更困难,应用程序是用Qt编写的,设备无法植根。
这是我用来安装应用程序的一段代码。
public static void installApk( Context context )
{
File file = new File( Environment.getExternalStorageDirectory().toString() + "/myApk.apk" );
Uri fileUri = FileProvider.getUriForFile( context, context.getPackageName() + ".provider", file );
Intent intent = new Intent( Intent.ACTION_VIEW, fileUri );
intent.putExtra( Intent.EXTRA_NOT_UNKNOWN_SOURCE, true );
intent.setDataAndType( fileUri, "application/vnd.android.package-archive" );
intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK );
intent.addFlags( Intent.FLAG_GRANT_READ_URI_PERMISSION );
context.startActivity(intent);
}
答案 0 :(得分:0)
安装APK意味着卸载您的应用程序,然后再次安装它,这就是您的应用程序关闭的原因。您无法阻止这种行为