最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 8.0不能自動安裝APK問題的解決方法(完美適配)

 更新時間:2018年07月25日 17:00:13   作者:會撒嬌的犀犀利  
這篇文章主要給大家介紹了關于Android 8.0不能自動安裝APK問題的解決方法(完美適配),這里的自動安裝是指下載完成后,自動彈出安裝界面,而不是靜默安裝APK,文中介紹的非常詳細,需要的朋友可以參考下

Android8.0之前

未知應用安裝權限默認開啟,如下圖所示


8.0以下手機未知應用安裝權限.png

Android8.0之后

未知應用安裝權限默認關閉,且權限入口隱藏。

如何開啟未知應用安裝權限的入口,并設置允許安裝?

在清單文件中添加權限

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

判斷當前是否為8.0以上系統(tǒng)(在這之前也可以對7.0系統(tǒng)進行判斷,這里代碼沒有貼出)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
  boolean hasInstallPermission = isHasInstallPermissionWithO(context);
  if (!hasInstallPermission) {
   startInstallPermissionSettingActivity(context);
     return;
  }
}

如果為8.0以上系統(tǒng),則判斷是否有 未知應用安裝權限

@RequiresApi (api = Build.VERSION_CODES.O)
private boolean isHasInstallPermissionWithO(Context context){
 if (context == null){
  return false;
 }
 return context.getPackageManager().canRequestPackageInstalls();
}

如果沒有 未知應用安裝權限 ,則需要手動開啟

/**
 * 開啟設置安裝未知來源應用權限界面
 * @param context
 */
@RequiresApi (api = Build.VERSION_CODES.O)
private void startInstallPermissionSettingActivity(Context context) {
 if (context == null){
  return;
 }
 Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
 ((Activity)context).startActivityForResult(intent,REQUEST_CODE_APP_INSTALL);
}

Activity回調(diào)(這一步根據(jù)需求來確定)

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  super.onActivityResult(requestCode, resultCode, data)
  if (resultCode== Activity.RESULT_OK ){
   when(requestCode){
    REQUEST_CODE_APP_INSTALL -> {
     onSettingCheckUpdate()
    }
   }
  }
 }

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • OpenGL Shader實例分析(8)彩色光圈效果

    OpenGL Shader實例分析(8)彩色光圈效果

    這篇文章主要為大家詳細介紹了OpenGL Shader實例分析第8篇,彩色光圈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Android獲取手機配置信息具體實現(xiàn)代碼

    Android獲取手機配置信息具體實現(xiàn)代碼

    下面為大家介紹下使用android獲取手機配置信息的具體過程,感興趣的朋友可以參考下哈,希望對你有所幫助
    2013-06-06
  • Android自定義ProgressDialog加載圖片

    Android自定義ProgressDialog加載圖片

    這篇文章主要介紹了Android自定義ProgressDialog系統(tǒng)加載框,通過本文大家可以嘗試利用Android自定義ProgressDialog,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android中使用TextView實現(xiàn)高仿京東淘寶各種倒計時效果

    Android中使用TextView實現(xiàn)高仿京東淘寶各種倒計時效果

    今天給大家?guī)淼氖莾H僅使用一個TextView實現(xiàn)一個高仿京東、淘寶、唯品會等各種電商APP的活動倒計時。今天小編把實現(xiàn)代碼分享到腳本之家平臺,對android textclock 倒計時效果感興趣的朋友參考下吧
    2016-10-10
  • Android 三級NestedScroll嵌套滾動實踐

    Android 三級NestedScroll嵌套滾動實踐

    這篇文章主要介紹了Android 三級NestedScroll嵌套滾動實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-02-02
  • Android中三種注入事件方法比較

    Android中三種注入事件方法比較

    這篇文章主要介紹了Android中三種注入事件方法比較,本文分別講解了使用內(nèi)部APIs、使用instrumentation對象、直接注入事件到設備/dev/input/eventX等3種方法,需要的朋友可以參考下
    2015-02-02
  • android:descendantFocusability方法介紹

    android:descendantFocusability方法介紹

    開發(fā)中很常見的一個問題,項目中的listview不僅僅是簡單的文字,常常需要自己定義listview,問題就出現(xiàn)了,可能會發(fā)生點擊每一個item的時候沒有反應,無法獲取的焦點
    2012-11-11
  • 詳解Android封裝一個全局的BaseActivity

    詳解Android封裝一個全局的BaseActivity

    這篇文章主要介紹了詳解Android封裝一個全局的BaseActivity,對封裝感興趣的同學,可以參考下
    2021-04-04
  • Android中SharedPreference詳解及簡單實例

    Android中SharedPreference詳解及簡單實例

    這篇文章主要介紹了 Android中SharedPreference詳解及簡單實例的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • android TabHost(選項卡)的使用方法

    android TabHost(選項卡)的使用方法

    Android中的選項卡是用TabHost實現(xiàn)的,下面我們用一個例子說明他的使用方法
    2013-11-11

最新評論

平塘县| 同江市| 民丰县| 东乌珠穆沁旗| 咸丰县| 琼中| 时尚| 古交市| 永新县| 芦溪县| 忻州市| 南皮县| 新蔡县| 衡水市| 盐城市| 芦山县| 石渠县| 宁远县| 辽阳县| 疏附县| 泸定县| 华亭县| 宁城县| 祁东县| 恩平市| 曲阜市| 思南县| 思茅市| 拉孜县| 青田县| 金山区| 杭锦后旗| 双城市| 营口市| 临沧市| 柘荣县| 西安市| 静乐县| 始兴县| 琼中| 开原市|