2011-09-12 8 views
0

ダウンロードファイルをインストールしますが、それは、私はすでにINSTALL_NON_MARKET_APPS許可 が既に存在プロンプトをインストールしますが、毎回、私が試した使用 エラー「アプリケーション・インストールされていない」があるインストールするとき、それは常に「アプリケーション・インストールされていません」というエラーだありません。アプリケーションすでに成功を

public void Update(String apkurl){ 
    try { 
      URL url = new URL(apkurl); 
      HttpURLConnection c = (HttpURLConnection) url.openConnection(); 
      c.setRequestMethod("GET"); 
      c.setDoOutput(true); 
      try{ 
      c.connect(); 
      } catch (Exception e) { 
       Toast.makeText(getApplicationContext(),e.getMessage() , Toast.LENGTH_LONG).show(); 
      } 
      String PATH = Environment.getExternalStorageDirectory() + "/download/"; 
      File file = new File(PATH); 
      file.mkdirs(); 
      File outputFile = new File(file, "prov1.apk"); 
      FileOutputStream fos = new FileOutputStream(outputFile); 

      InputStream is = c.getInputStream(); 

      byte[] buffer = new byte[1024]; 
      int len1 = 0; 
      while ((len1 = is.read(buffer)) != -1) { 
       fos.write(buffer, 0, len1); 
      } 
      fos.close(); 
      is.close();//till here, it works fine - .apk is download to my sdcard in download file 

      Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

      intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "prov1.apk")), "application/vnd.android.package-archive"); 

      startActivity(intent); 

     } catch (IOException e) { 
      Toast.makeText(getApplicationContext(), "Update error!", Toast.LENGTH_LONG).show(); 
     } 
} 

このトピックに関する別の質問は既に読んでいますが、まだ固まっています。私はあなたの助けに本当に感謝しています。

答えて

0

すでに同じパッケージ名のアプリがある可能性があります。 たとえば、同じパッケージをcom.something.prov1にインストールしようとすると、すでに存在している可能性があります。それが最初にアンインストールよりもケースであればアプリ

adb uninstall com.something.prov1 
+0

はありがとう 答えをいただき、ありがとうございます。それは私がインストールすることはできませんが、アプリが既にそこにあるからです。アンインストール後、新しいものをインストールできます。しかし、私の場合、私はアプリを自動更新したい、それはアンドロイドで可能ですか?新しいものをダウンロードした後に古いものをアンインストールすることは可能ですか? –

+0

アップデートの仕組みが分かりません(アプリでデータを更新した経験があり、ブロードキャストレシーバーでやりました)新しいアプリケーションのインストール/削除をリッスンしていました、新しいアプリがインストールされたり、リストから削除されたりするたびにリストを更新しました....もしあなたの答えがここをリンクしていたら、それについても読むことができます。ありがとう – Lukap

+0

私はまた、Lukの答えに同意しています。異なる署名のアプリケーションインストールの問題があるかもしれません。 –

関連する問題