2

プログラムでURLから別のAndroidアプリをダウンロードしてインストールできる方法はありますか? フォローしてみた

Intent promptInstall = new Intent(Intent.ACTION_VIEW);

    promptInstall.setDataAndType(Uri.fromFiledwfile), "application/vnd.android.package_archive");
    promptInstall.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    startActivity(promptInstall);

しかし、それは私にエラーを与えました

   java.lang.RuntimeException: Unable to start activity 
ComponentInfo{com.example.test/com.example.test.MainActivity}: 

android.content.ActivityNotFoundException: No Activity found to handle Intent { 

act=android.intent.action.VIEW dat=file:///mnt/sdcard/download/Demo.apk 

typ=application/vnd.android.package_archive flg=0x10000000 }

いくつかの権限がありませんか? あげてみた

<uses-permission android:name="android.permission.INSTALL_PACKAGES"  />

しかし、それではEclipseでコンパイルできません

誰かが助けて、私が何か間違っているかどうか教えてください

ありがとうモンティ

4

2 に答える 2

1

ユーザーの承認なしにアプリをインストールする方法はありません。

apkをダウンロードしたら、ACTION_VIEWの代わりにACTION_INSTALL_PACKAGEを使用する必要があります

ドキュメントから:

アクティビティアクション:アプリケーションインストーラを起動します。

入力:データは、コンテンツ:またはファイル:アプリケーションを取得できるURIである必要があります。JELLY_BEAN_MR1以降、「package:」を使用して、別のユーザー用に既にインストールされている現在のユーザー用のアプリケーションをインストールすることもできます。オプションで、EXTRA_INSTALLER_PACKAGE_NAME、EXTRA_NOT_UNKNOWN_SOURCE、EXTRA_ALLOW_REPLACE、およびEXTRA_RETURN_RESULTを指定できます。

出力:EXTRA_RETURN_RESULTの場合、インストールが成功したかどうかを返します。

于 2013-01-05T04:50:19.903 に答える
0

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(ダウンロードしたアプリに URL を渡す));

    startActivity(browserIntent);

残りは、マニフェストでインターネットとストレージのパーシムを提供します。

于 2013-01-05T12:46:40.773 に答える