下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024專利知識(shí)產(chǎn)權(quán)合同
- 2024五星級(jí)酒店食品供應(yīng)與采購勞務(wù)合同
- 2024外架搭設(shè)合同
- 2024軟件項(xiàng)目委托開發(fā)合同
- 2024年度旅游景點(diǎn)開發(fā)合作協(xié)議
- 2024年度安置房買賣合同中的違約責(zé)任
- 2024年度新能源項(xiàng)目開發(fā)建設(shè)合同
- 文書模板-充電樁股份轉(zhuǎn)讓合同
- 2024年度貨物買賣合同商品描述與支付方式詳解
- 2024年幼兒園教育聯(lián)盟協(xié)議
- 國開電大 可編程控制器應(yīng)用實(shí)訓(xùn) 形考任務(wù)6實(shí)訓(xùn)報(bào)告
- GB/T 34120-2023電化學(xué)儲(chǔ)能系統(tǒng)儲(chǔ)能變流器技術(shù)要求
- 跨國企業(yè)中方外派人員的跨文化適應(yīng)
- 《道路交叉設(shè)計(jì)》課件
- 《活著》讀后感-課件
- 體檢報(bào)告匯總分析中風(fēng)險(xiǎn)的防范
- 村里建群管理制度
- 【城市軌道交通運(yùn)營安全管理研究5300字】
- 2024年中核匯能有限公司招聘筆試參考題庫含答案解析
- 上海市2024屆高三7月模擬預(yù)測歷史試題(等級(jí)考)(解析版)
- 肺炎護(hù)理查房課件
評(píng)論
0/150
提交評(píng)論