1. 程式人生 > >Android8.0版本升級適配

Android8.0版本升級適配

1.在AndroidManifest.xml加入許可權

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

2.在/src/res/xml下新建file_paths.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths>
        <external-path path ="" name = "download"/>
    </paths>
</resources>

3.在AndroidManifest.xml中註冊

       <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="包名.fileprovider"
            android:grantUriPermissions="true"
            android:exported="false">
            <!--元資料-->
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>

4.在顯示下載框之前新增

int permission = ActivityCompat.checkSelfPermission(mContext,
								Manifest.permission.WRITE_EXTERNAL_STORAGE);

						if (permission != PackageManager.PERMISSION_GRANTED) {
							// We don't have permission so prompt the user
							ActivityCompat.requestPermissions((Activity)mContext, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},10010);
						}

修改安裝apk程式碼

private void installApk() {
		File apkfile = new File(mSavePath, mHashMap.get("name"));
		if (!apkfile.exists()) {
			return;
		}
		
		Uri apkUri =
				FileProvider.getUriForFile(mContext, "包名.fileprovider", apkfile);

		Intent intent = new Intent(Intent.ACTION_VIEW);
		// 由於沒有在Activity環境下啟動Activity,設定下面的標籤
		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		//新增這一句表示對目標應用臨時授權該Uri所代表的檔案
		intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
		intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
		mContext.startActivity(intent);
	}

相關推薦

Android8.0版本升級

1.在AndroidManifest.xml加入許可權 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> 2.在/src/res/xml下新建file_

android8.0劉海屏集合

國內手機廠商參差不齊,google官方9.0才出劉海屏適配,國內的廠商各有各的方法,苦了我們這些程式設計師,因此特地把它彙總起來,使用時直接複製就可。 先附上各自的官網 以下程式碼,呼叫notchsupport方法,就會返回劉海屏的px值,沒劉海屏則返

android8.0桌面圖示以及相應問題的解決

8.0出來已經有很長很長一段時間了,也有很多大廠app做了適配(華為8.0的手機上如果是圓形icon那就是做了適配的),作為開發者還是得跟著谷歌的腳步啊,直接開始:工欲善其事必先利其器,將as升級到3.0以上,在mipmap-anydpi-v26(沒有就手動建立一個)下建立新

android版本更新7.0,解決7.0手機無法更新安裝apk

許可權更改隨著Android7.0的到來,隨之,許可權獲取也隨之更改,因為部分7.0手機就會出現無法下載乃至載入完成後無法安全或者安裝失敗的問題,因為,我們適配7.0版本是很重要的,不然部分7.0手機就會出現上述問題。在api23版本開始部分許可權需要動態獲取,共有9組許可權

Android 幾行程式碼解決6.0以上許可權問題

APK 將libray模組複製到專案中,或者直接在build.gradle中依賴: allprojects { repositories { maven { url 'https://jitpack.io' } } } depende

Android6.0動態許可權&XMPermissions

Android6.0動態許可權 簡介 從 Android 6.0(API 級別 23)開始,使用者開始在應用執行時向其授予許可權,而不是在應用安裝時授予。此方法可以簡化應用安裝過程,因為使用者在安裝或更新應用時不需要授予許可權。它還讓使用者可以對應用的功能進行

安卓8.0通知許可權

隨著安卓8.0的出現,越來越多的人開始要進行8.0系統的適配了,很多人都知道安卓最近幾個版本的新特性這裡大概說一下: 5.0的時候出現了Design風格6.0出現的危險許可權需要申請7.0出現的目錄訪問被限制今天要介紹的8.0通知欄的機制在前一段時間用一個8.0的模擬器測

PopUpWindow位置指定對小米4(Android7.0)相容

本文測試環境為Android7.0版本的小米4,因為今天是年前最後一天上班的關係,才有時間寫個部落格,也是這個原因,心情浮躁,沒有時間做多餘的測試。所以尚不清楚是機型適配問題還是Android7.0版本的問題。因為產品中存在沉浸欄,之前懷疑是沉浸欄對此功能的適配性不佳,後來

Android 7.0分屏和檔案許可權

Android 7.0分屏適配和檔案許可權 分屏適配 檔案許可權 一、分屏適配 從Android N開始,添加了分屏和畫中畫功能。 在手持裝置上,兩個應用可以在“分屏”模式中左右並排或上下並排顯示。 在電視裝置上,應用可以使用“畫中畫”模式,如

Android學習-相容Android7.0,8.0版本升級更新(程式碼片段記錄)(Kotlin)

Android7.0需要fileprovider宣告, Android8.0需要新增 申明許可權 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /&g

Android 多版本Api

背景: Android從一開始釋出到現在已經迭代了很多的版本了,其中一些API也經歷了多次修改,比如開啟相機之類的,在Android api 9之前相機開啟就直接open了,但是Android Api 9之後,支援了多攝像頭,為了相機的開啟效率,將不推薦在直接使用open來

android 8.0 notification通知踩坑

老專案通知這塊要適配8.0, 所以按照老套路 開啟百度 深入andoid notificion 8.0 ctrl c and ctrl+v 一頓熟悉的操作, 然後測試執行專案 ! 尼瑪, 不行!! 在8.0上不行 ,心裡一頓的問候, 然後開始網上各種解決辦法對比,自己的程式碼跟別人說的一樣啊 加一個

1.5.0 H5頁面移動終端

1.5.1 在移動瀏覽器使用viewport元標籤控制佈局 viewport最早是iphone解決移動瀏覽器佈局的相關問題(PS:在處理螢幕方向改變時稍有差異,)的解決方案之一。後來隨著移動瀏覽器網頁的發展被廣泛使用。 <meta name="viewport"

Android N7.0多視窗開發指導

1、設定resizeableActivity為false <activityandroid:name="com.exmaple.Activity2"  android:resizeableActivity="false  2、Activity1啟動Activity2時,

如何在本機編譯android8.0環境,用於Ubuntu16.04

1.安裝openjdk sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk 2.安裝vim編輯器 sudo apt-get inst

安卓8.0系統notificationFailed to post notification on channel “null”

所以要去對8.0系統進行適配: //程式碼省略 String name = "my_package_channel";//渠道名字 String id = "my_package_channel_1"; // 渠道ID

Android進階封裝之一個類實現相容Android 6.0許可權、Android7.0 拍照!

Android進階封裝之“史無前例”一個類實現相容Android 6.0許可權、適配Android 拍照7.0: 相機與相簿上傳圖片就用我好啦! 一、前言。 本篇部落格從基本的AndroidN開始說怎麼適配其拍照,其與7.0以下有何區別

安卓8.0桌面圖示

一、現狀及問題          在安卓8.0之前的版本中,原生安裝系統 在應用安裝到手機後,顯示在桌面上的圖示只有一種方式來決定, 即在manifest.xml的Application節點中設定 icon標籤的屬性,這個任何安卓開發者都應該清楚。            上

Android 8.0新特性測試報告來啦!

WeTest 導讀谷歌2017 I/O開發者大會上釋出了Android 8.0的正式版, 其官方代號為Oreo(奧利奧)。網上關於Android8.0新功能特性的介紹已鋪天蓋地,新功能特性會對程式應用帶來哪些影響呢,我們從相容性角度來看下這部分變化。 測試版本:Android 8.0  安裝啟動測試 A

Android8.0之——版本升級不跳轉應用安裝頁面的完美解決

      最近開發遇到了個問題,app升級的時候,其他手機都能正常升級,下載完安裝包,跳到安裝頁面進行新版本的安裝。但卻有使用者反映,華為P10和華為Mate 9升級時,怎麼也無法跳轉到安裝頁面。起初我以為是華為手機自身系統的問題(因為手上的華為測試機都是正常的),還特地對