###前提・実現したいこと
SDカード内にある.apkファイルをインストールする機能の実装
###発生している問題・エラーメッセージ
Android 7.0 からファイルの扱いも変わったと知り、
Uri.fromFileで作られたUriをFileProviderで対応するように改造しました。
さらに外部ストレージのファイルのURIを取得するには
キャッシュを作成して共有させることが必要とのことだったので実装してみましたが、
.apkファイルが破損してしまいインストールができません。
###該当のソースコード
Intent intent = new Intent(Intent.ACTION_VIEW); Uri fileURI = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileprovider", <外部ストレージ内にある.apkファイルのフルパス>); intent.setDataAndType(fileURI, "application/vnd.android.package-archive"); intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION); startActivity(intent);
###補足情報(言語/FW/ツール等のバージョンなど)
Android Studio2.3.3
SDK 7.1
API 25
あなたの回答
tips
プレビュー