一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android 8.0升級不跳轉應用安裝頁面的解決方法

Android 8.0升級不跳轉應用安裝頁面的解決方法

2022-03-02 15:20zj_blog Android

這篇文章主要為大家詳細介紹了Android 8.0升級不跳轉應用安裝頁面的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

2017年8月22日,Google發布了Android 8.0的正式版,其正式名稱為:Android Oreo(奧利奧),Android 8.0強化了權限管理,變得更加安全。在Android 8.0以前,所有的未知來源應用都可以被安裝,或者會彈窗給用戶一個提示,如此設計雖然方便,但是若被引誘安裝了惡意軟件,安裝"未知來源"的應用有可能會對手機系統帶來潛在的危害;

而在Android 8.0的系統中,**未知來源應用權限**的開關被移除掉了,取而代之的是未知來源應用的管理列表,如果你想要安裝某個被自己所信任的開發者的app,則需要在每一次都手動授權"安裝未知應用"的許可。設置頁面如下圖:(在華為Android 8.0中,打開該設置頁面:設置列表—>安全與隱私—>更多安全設置—>安裝未知應用)

Android 8.0升級不跳轉應用安裝頁面的解決方法

*如圖所示*,若某個應用選擇的是“不允許”,那么假設app手動升級的時候,就無法成功跳轉到安裝頁面進行正常的App升級流程了,此時需要手動去授權才行,但是很多用戶并不知道需要這么設置。
廢話說了一大堆,解決其實很簡單。

1.在AndroidManifest.xml文件中,添加REQUEST_INSTALL_PACKAGES權限

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

2.在打開安裝包的代碼中添加**兼容Android 8.0**的代碼。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/**
  * 打開安裝包
  *
  * @param mContext
  * @param fileUri
  */
  public void openAPKFile(Activity mContext, String fileUri) {
    DataEmbeddingUtil.dataEmbeddingAPPUpdate(fileUri);
    // 核心是下面幾句代碼
    if (null != fileUri) {
      try {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        File apkFile = new File(fileUri);
        //兼容7.0
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
          intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
          Uri contentUri = FileProvider.getUriForFile(mContext, mContext.getPackageName() + ".fileProvider", apkFile);
          intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
          //兼容8.0
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            boolean hasInstallPermission = mContext.getPackageManager().canRequestPackageInstalls();
            if (!hasInstallPermission) {
              ToastUtil.makeText(MyApplication.getContext(), MyApplication.getContext().getString(R.string.string_install_unknow_apk_note), false);
              startInstallPermissionSettingActivity();
              return;
            }
          }
        } else {
          intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
          intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        }
        if (mContext.getPackageManager().queryIntentActivities(intent, 0).size() > 0) {
          mContext.startActivity(intent);
        }
      } catch (Throwable e) {
        e.printStackTrace();
        DataEmbeddingUtil.dataEmbeddingAPPUpdate(e.toString());
        CommonUtils.makeEventToast(MyApplication.getContext(), MyApplication.getContext().getString(R.string.download_hint), false);
      }
    }
  }
 
 
  /**
  * 跳轉到設置-允許安裝未知來源-頁面
  */
  @RequiresApi(api = Build.VERSION_CODES.O)
  private void startInstallPermissionSettingActivity() {
    //注意這個是8.0新API
    Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    mContext.startActivity(intent);
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/zj_blog/article/details/79897241

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久免费国产精品热 | 欧美一区二区三区免费看 | 99国产牛牛视频在线网站 | 国产成人精品一区二区阿娇陈冠希 | 性xxxx中国老妇506070 | 双性受合不垅腿攻np | 欧洲女同同性videos0 | 黑人粗又长 | 久久se视频精品视频在线 | 91制片厂制作传媒免费版樱花 | 侮辱丰满美丽的人妻 | 日韩一级片免费观看 | 免费看国产精品久久久久 | 亚洲AVAV天堂AV在线网爱情 | 嗯啊好大好粗 | 四虎影院最新网址 | 乌克兰一级毛片9一18 | 2022色婷婷综合久久久 | 成人精品视频一区二区在线 | 日本wwxx| 亚欧综合| 99国产高清久久久久久网站 | 成年人在线观看视频 | 大肚孕妇的高h辣文 | 97se亚洲国产综合自在线观看 | 久久青青草原 | 天天操精品视频 | 97久久天天综合色天天综合色hd | 国产高清视频 | 亚洲精品www久久久久久久软件 | 无限好资源免费观看 | 羞羞答答免费人成黄页在线观看国产 | 超级碰碰免费视频 | 成年男女免费视频观看性 | 45分钟做受片免费观看 | 99ri在线精品视频 | 成人免费体验区福利云点播 | 国产精品自产拍在线观看2019 | 欧美人禽杂交av片 | 久久免费看少妇高潮A片特爽 | 草莓在线|