图库选择
16lz
2021-01-26
图库选择
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
public class MainActivity extends AppCompatActivity { private ImageView mImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImageView = (ImageView) findViewById(R.id.imageView); } public void myClick(View view) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { // 如果还没授权就请求权限 ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); } else { // 如果用户授权过就直接执行 viaGallery(); } } private void viaGallery() { Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); startActivityForResult(intent, 100); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK && requestCode == 100) { if (data != null) { mImageView.setImageURI(data.getData()); } } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode) { case 1: // 判断是否已经授权 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // 执行 viaGallery(); } else { // 用户拒绝授权 Toast.makeText(this, "拒绝了浏览图库", Toast.LENGTH_SHORT).show(); } break; } }}
更多相关文章
- android执行脚本语言完成root
- Android—检测权限并申请
- 动画
- android常用系统bar高度
- Android(安卓)执行shell 命令
- Android(安卓)AsyncTask 解析
- Android(安卓)App 调用自带浏览器
- 为何Android普通APP可以执行私有数据中的so文件,而system app却不
- autoMonkey框架原理与应用(一):Monkey基础知识与测试场景