我試圖安裝我已經下載到下載文件夾中的Android 7Xamarin的Android 7+安裝APK編程
我已經嘗試使用了一些StackOverflow的職位推薦的方式,在這裏https://inthecheesefactory.com/blog/how-to-share-access-to-file-with-fileprovider-on-android-nougat/en .apk文件一個FileProvider:
File file = new File(fileUri);
//using Android.Support.V4.Content;
var downloadUri = FileProvider.GetUriForFile(context,context.ApplicationContext.PackageName + ".com.package.name.provider", file);
Intent install = new Intent(Intent.ActionInstallPackage);
install.AddFlags(ActivityFlags.GrantReadUriPermission);
install.AddFlags(ActivityFlags.GrantWriteUriPermission);
install.AddFlags(ActivityFlags.GrantPersistableUriPermission);
install.SetDataAndType(downloadUri, "application/vnd.android.package-archive");
context.StartActivity(install);
AndroidManifest.xml中
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<application android:label="Settings" android:icon="@drawable/Icon" android:theme="@style/myTheme">
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.com.package.name.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application>
provider_paths.xml
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="." />
</paths>
的 「downloadUri」 的模樣:「內容://com.package.name.com.package.name.provider/external_files/Download/Sensors%2520Multitool_1.3.0_apk-dl.com.apk 「
彈出安裝窗口時的錯誤爲:」解析包「時出現問題。
我已經在下載文件夾中點擊安裝了這個軟件包,它安裝的很好,我也嘗試了其他.apk的相同的問題。
不是一個有保證的解決方案,但也許你正在下載Android的Android版本,因此導致解析異常。你有任何可能檢查這個? –
我已經檢查過apk安裝,只需在下載文件夾中單擊它即可安裝並正確運行。 –
@IulianPopescu你可能會嘗試另一種.apk「es文件資源管理器」來測試它是否會起作用,它確實如此,你知道爲什麼爲不同的android版本構建的應用程序不起作用嗎? –