Android基础10

2017-07-23  本文已影响0人  毕丙伟

运行时权限问题

  1. 以读物联系人为例,
    1)有一个listView展示数据
    2)拥有读取联系人的权限
    3)读取联系人的数据

展示数据的布局文件和配置

<ListView
        android:id="@+id/contract_listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </ListView>
//配置listView
        contacts = new ArrayList<>();
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,contacts);
        listView.setAdapter(adapter);

判断是否拥有权限

//判断是否有权限
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED){
            ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_CONTACTS},1);//没有的情况
        }else {
            readContacts();//有
        }
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode){
            case 1:
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
                    readContacts();
                }else {
                    Toast.makeText(this,"你拒绝了服务.",Toast.LENGTH_SHORT).show();
                }
        }
    }

读取数据

上一篇下一篇

猜你喜欢

热点阅读