当我的网络服务器从我的网络服务器中找到新版本但我没有安装时,我想更新我的Android应用程序

时间:2012-10-08 11:06:22

标签: android android-intent

在我的Android应用程序中,我创建了一个服务,将检查我的Web服务器,如果新版本应用程序将发现它将更新我的应用程序。 但是我无法安装或者我的安装失败,直到卸载私有版本。

我的新版本安装代码是:

Intent promptInstall = new Intent(Intent.ACTION_VIEW);          
promptInstall.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() +"/apks/PHS_TKS_v3.apk")), "application/vnd.android.package-archive");
promptInstall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(promptInstall);

并且清单中的用户权限是:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.RESTART_PACKAGES"/>

我正在尝试安装新版本apk不同版本 如果我手动安装,如果安装了旧版本则不安装。

1 个答案:

答案 0 :(得分:1)

错误消息“已经安装了具有冲突签名的同名现有包”意味着您已经安装了应用程序,但它是使用不同的签名构建的。 如果您在eclipse中构建和调试,那么它会使用调试或测试键将apk推送到您的手机。 您需要卸载该应用程序,然后安装使用自定义密钥库构建的版本