【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android 8.0版本更新無法自動(dòng)安裝怎么辦_第1頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android 8.0版本更新無法自動(dòng)安裝怎么辦_第2頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android 8.0版本更新無法自動(dòng)安裝怎么辦_第3頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android 8.0版本更新無法自動(dòng)安裝怎么辦_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android8.0版本更新無法自動(dòng)安裝怎么辦

這篇文章給大家分享的是有關(guān)Android8.0版本更新無法自動(dòng)安裝怎么辦的內(nèi)容。在下覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨在下過來看看吧。前言前幾天APP上線了個(gè)新版本,有部分用戶反應(yīng)在下載完安裝包以后點(diǎn)擊安裝無反應(yīng)。查了下這部分用戶手機(jī)的系統(tǒng)的版本都是8.0+版本。因?yàn)樘脹]關(guān)注新版本特性,所以導(dǎo)致了這個(gè)問題的發(fā)生。Android8.0(AndroidO)為了針對(duì)一些流氓軟件引導(dǎo)用戶安裝其他無關(guān)應(yīng)用。在應(yīng)用權(quán)限設(shè)置的“特殊訪問權(quán)限”中,加入了“安裝其他應(yīng)用”的設(shè)置。實(shí)現(xiàn)1.清單文件權(quán)限聲明<uses-permissionandroid:name="android.permission.REQUEST_INSTALL_PACKAGES"/>2.點(diǎn)擊安裝判斷是否有權(quán)限

if

(Build.VERSION.SDK_INT

>=

26)

{

//來判斷應(yīng)用是否有權(quán)限安裝apk

boolean

installAllowed=

getPackageManager().canRequestPackageInstalls();

//有權(quán)限

if

(installAllowed)

{

//安裝apk

install(apkPath);

}

else

{

//無權(quán)限

申請權(quán)限

ActivityCompat.requestPermissions(this,

new

String[]{Manifest.permission.REQUEST_INSTALL_PACKAGES},

INSTALL_APK_REQUESTCODE);

}

}

else

{

install(apkPath);

}權(quán)限申請回調(diào)@Override

public

void

onRequestPermissionsResult(int

requestCode,

@NonNull

String[]

permissions,

@NonNull

int[]

grantResults)

{

super.onRequestPermissionsResult(requestCode,

permissions,

grantResults);

switch

(requestCode)

{

case

INSTALL_APK_REQUESTCODE:

//有注冊權(quán)限且用戶允許安裝

if

(grantResults.length

>

0

&&

grantResults[0]

==

PackageManager.PERMISSION_GRANTED)

{

install(apkPath);

}

else

{

//將用戶引導(dǎo)至安裝未知應(yīng)用界面。

Intent

intent

=

new

Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);

startActivityForResult(intent,

GET_UNKNOWN_APP_SOURCES);

}

break;

}

}安裝APKprivate

void

install(String

apkPath)

{

//7.0以上通過FileProvider

if

(Environment.SYSTEM_VERSION_CODE

>=

24)

{

Uri

uri

=

FileProvider.getUriForFile(context,

Environment.FILE_PROVIDER_AUTHORITY,

new

File(apkPath));

Intent

intent

=

new

Intent(Intent.ACTION_VIEW).setDataAndType(uri,

"application/vnd.android.package-archive");

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

context.startActivity(intent);

}

else

{

Intent

intent

=

new

Intent(Intent.ACTION_VIEW);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setDataAndType(Uri.parse("file://"

+

apkPath),

"application/vnd.android.package-archive");

context.startActivity(intent);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論