2010-12-29 23 views
1
Uri myUrl = Uri.parse(stringURL); 
Intent update1 = new Intent(Intent.ACTION_VIEW).setData(myUrl); 
startActivity(update1); 

これにより、ダウンロードが開始されずにapkファイルがダウンロードできます。通知バーでダウンロード完了をクリックすると、手動で起動する必要があります。これはまた、ほとんどのフォーラム回答の解決策です。私はメッセージ(DDMS)を得る。このシナリオではIntent.ACTION_VIEWでapkをダウンロードしていますが、ファイルをインストールしていません。

Uri myUrl = Uri.parse(stringURL); 
Intent update2 = new Intent(Intent.ACTION_VIEW).setDataAndType(myUrl,"application/vnd.android.package-archive"); 
startActivity(update2); 

:いいえ活動の意図を処理することが分かっていないが...私はまた、MIME、「アプリケーション/ vnd.android.package-アーカイブ」は義務ではないと思われます。これは本当ですか? そうでなければ、httpサーバを設定してこの作業を行わなければなりません。 .htaccessファイルと同様に がで更新する必要があります

AddTypeのアプリケーション/ vnd.android.package-アーカイブ

それがそうであるならば、あなたは私がテストできるのapkのいずれかのリンクを知っていますか、ダウンロードが完了すると、インストールプロセスは自動的に開始されます(このサイトのファイルはsamplesがインストールされていません)。

コードからインストールのインテントを呼び出すことのできる回避策はありますか?

答えて

3

ダウンロード後、インストールプロセスが自動的に

を開始した場合、あなたは、私はこれが可能であることを認識していないよ、私はテストすることができるのapkのいずれかのリンクを知っていますか。

コードからインストールのインテントを呼び出すことのできる回避策はありますか?

ファイルをダウンロードしてから、ACTION_VIEWIntentをローカルAPKファイルにダウンロードしてください。 AFAIKはすぐにインストール画面を表示します。

+0

これは私が本当の答えを見つけられなかった理由です。 OK!私のアルゴリズムは大丈夫ですか? 1.私はおそらくどこに保存する場所を確認する必要があります(外部のSDカードが存在する場合は、内部の外部SDカードに存在するか、いくつかの簡単な一般的な手順です)。 2.成功すると、私はACTION_VIEWインテントを実行します。 3.私はおそらくインストールが成功したという意図をいくつか受け取ることができましたか?テストされた例はありますか? – MatejC

+0

@MatejC: "ダウンロードにはどのような方法が良いか知っていますか?" - HttpClientが私の選択です。 – CommonsWare

関連する問題