カスタムROMでフラッシュしてクライアントに配布するAndroidデバイスがたくさんあります。そのROMの一部として、デバイスに関連付けられている「サポート」アプリがあります。GooglePlayに公開することはできません。ソフトウェアの更新バージョンをダウンロードしてインストールする機会をユーザーに提供できるようにする必要があります。コードの確認、ダウンロード、インストールはすでに実装されていますが、不明なソースからのアプリのインストールを有効にするように構成されているデバイスに依存しています。デバイスがこの特定のapkをダウンロードしてインストールできるようにする必要がありますが、それでも不明なソースからの他のアプリをインストールすることはできません。
これは可能ですか?
(編集:選択した回答が最終的にどのように機能したかを明確にするため)
アクティビティに追加されたコードは次のとおりです。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() +"/update.apk")), "application/vnd.android.package-archive");
intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
intent.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);
startActivityForResult(intent, 0);
androidマニフェストに、次のコードが追加されました。
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
アプリをインストールした後、ルートファイルエクスプローラーを使用してapkを移動し、電話をリセット/user/apps
し/system/apps
た後、ユーザーに信頼できないソースを有効にするように求められることなく、アプリを自分自身の上にインストールすることができました。インストールプロンプトが表示され、アプリに必要な権限が一覧表示され、ユーザーにインストールするかどうかを選択できますが、それでも問題ありません。