<cite id="gnyznzs"><source id="gnyznzs"><video id="gnyznzs"><var id="gnyznzs"></var></video></source></cite><b id="gnyznzs"><ins id="gnyznzs"><del id="gnyznzs"></del></ins></b>
  • <s id="gnyznzs"><kbd id="gnyznzs"></kbd></s> <del id="gnyznzs"><track id="gnyznzs"></track></del>
  • <ol id="gnyznzs"><li id="gnyznzs"><optgroup id="gnyznzs"></optgroup></li></ol>

    <noframes id="gnyznzs">
      <nobr id="gnyznzs"></nobr>
    1. <u id="gnyznzs"></u>
    2. 歡迎光臨杭州奇捷科技有限公司網站,咨詢熱線:0571-86618313
        咨詢電話:0571-86618313

      技術支持

      不同安卓版本兩個可能導緻程序奔潰問題的解決方案

      主題: 解決方案解決的問題描述

      不同安卓版本兩個可能導緻程序奔潰問題的解決方案

      安卓設備

      适用範圍: 哪些型号/技術/平台适用該解決方案

      解決方案: 具體的解決方案内容

      1.安卓程序基于安卓6.0之前的版本開發,需要運行在我們安卓7或者8版本的設備上。自Android

      6.0開始,Google開始對系統權限做出嚴格的要求,有些權限必須用戶同意才能調用相應功能,所以開發者需要調用權限申請的代碼,彈出一個小窗口,向用戶動态申請權限。

      以下是動态申請文件讀寫權限的過程:

      1.1 讀與寫的權限先定義到靜态字符數組中:

      private static String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE,

      Manifest.permission.WRITE_EXTERNAL_STORAGE};

      1.2 首先判斷當前系統是否是Android6.0(對應API

      23)以及以上,如果是則判斷是否含有了寫文件的權限,如果沒有則調用動态申請權限的代碼,ActivityC ompat.requestPermission方法的第一個參數是目标Activity,填寫this即可,第二個參數是String[]字符數組類型的權限集,第三個即請求碼:

      if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {

      if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) !=

      PackageManager.PERMISSION_GRANTED) {


      ActivityCompat.requestPermissions(this,PERMISSIONS_STORAGE,REQUEST_PERMISSION_CODE

      );

      }

      }


      1.3 回調函數,申請權限後回調onRequestPermissionResult函數,第一個參數為請求碼,第二個參數

      是剛剛請求的權限集,第三個參數是請求結果,0表示授權成功,-1表示授權失敗:


      @Override

      public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,@NonNullint[]grantResults) {

      super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == REQUEST_PERMISSION_CODE) {

      for (int i = 0; i < permissions.length; i++) {

      Log.i("MainActivity", "申請的權限為:" + permissions[i] + ",申請結果:"+grantResults[i]);

      }

      }

      }

      完整代碼:

      public class MainActivity extends AppCompatActivity {

      //讀寫權限

      private static String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};

      //請求狀态碼

      private static int REQUEST_PERMISSION_CODE = 1;


      @Override

      protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

      if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {

      if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) !=

      PackageManager.PERMISSION_GRANTED) {

      ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE);

      }

      }

      }


      @Override

      public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,@NonNullint[]grantResults) {

      super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == REQUEST_PERMISSION_CODE) {

      for (int i = 0; i < permissions.length; i++) {

      Log.i("MainActivity", "申請的權限為:" + permissions[i] + ",申請結果:" + grantResults[i]);

      }

      }

      }

      }


      2.安卓程序開發在4之前版本,需要運行在安卓4,安卓7,安卓8的設備上

      有些早期開發的程序,可能會把藍牙通訊,網絡通訊都寫在主線程中(非常不好的編程習慣,但是也有軟件這樣寫),這時候如果運行在我們的安卓設備上,程序會奔潰。

      解決方案:将通訊動作寫在子線程中就可以。












      上一條:購買條碼掃描槍時要考慮的因素 下一條:沒有了

      聯系我們

      杭州奇捷科技有限公司

      銷售經理:劉凱龍 19967480500

      銷售經理:楊麗 15180325332

      座機:0571-86618313

      地址:浙江省杭州市莫幹山路1418-5号 互動V谷2幢2006室



      国产成人午夜福利免费无码R,一个人免费观看的WWW,亲爱的妈妈4韩国完整版观看电影,国产99视频精品免费观看9
      <cite id="gnyznzs"><source id="gnyznzs"><video id="gnyznzs"><var id="gnyznzs"></var></video></source></cite><b id="gnyznzs"><ins id="gnyznzs"><del id="gnyznzs"></del></ins></b>
    3. <s id="gnyznzs"><kbd id="gnyznzs"></kbd></s> <del id="gnyznzs"><track id="gnyznzs"></track></del>
    4. <ol id="gnyznzs"><li id="gnyznzs"><optgroup id="gnyznzs"></optgroup></li></ol>

      <noframes id="gnyznzs">
        <nobr id="gnyznzs"></nobr>
      1. <u id="gnyznzs"></u>