国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android 8.0版本更新無(wú)法自動(dòng)安裝問(wèn)題的解決方法

2019-10-22 18:09:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

前幾天APP上線了個(gè)新版本,有部分用戶反應(yīng)在下載完安裝包以后點(diǎn)擊安裝無(wú)反應(yīng)。查了下這部分用戶手機(jī)的系統(tǒng)的版本都是8.0+版本。因?yàn)樘脹]關(guān)注新版本特性,所以導(dǎo)致了這個(gè)問(wèn)題的發(fā)生。

Android 8.0 (Android O)為了針對(duì)一些流氓軟件引導(dǎo)用戶安裝其他無(wú)關(guān)應(yīng)用。在應(yīng)用權(quán)限設(shè)置的“特殊訪問(wèn)權(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) {     //來(lái)判斷應(yīng)用是否有權(quán)限安裝apk    boolean installAllowed= getPackageManager().canRequestPackageInstalls();     //有權(quán)限    if (installAllowed) {       //安裝apk      install(apkPath);    } else {       //無(wú)權(quán)限 申請(qǐng)權(quán)限      ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.REQUEST_INSTALL_PACKAGES}, INSTALL_APK_REQUESTCODE);     }   } else {     install(apkPath); } 

權(quán)限申請(qǐng)回調(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:       //有注冊(cè)權(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;   } } 

安裝APK

private void install(String apkPath) {    //7.0以上通過(guò)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);    }}

更新圖示

Android,版本更新,安裝

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新民市| 施秉县| 油尖旺区| 吕梁市| 平果县| 华亭县| 太原市| 都兰县| 樟树市| 西丰县| 文安县| 华阴市| 瑞昌市| 清流县| 大姚县| 牡丹江市| 荃湾区| 承德市| 柳江县| 永靖县| 满洲里市| 岳阳市| 金堂县| 延安市| 百色市| 信丰县| 安图县| 迁安市| 晋宁县| 大埔县| 新田县| 九江县| 普定县| 星子县| 灵宝市| 康马县| 策勒县| 天津市| 延寿县| 沙湾县| 手游|