六七网络

当前位置: 首页 > 知识问答 > android打开相册_Android

知识问答

android打开相册_Android

2025-09-07 20:42:01 来源:互联网转载

要在Android中打开相册,可以使用Intent来实现,以下是详细步骤:

1、创建一个新的Android项目,或者在已有项目中添加一个新的Activity。

2、在需要打开相册的地方,创建一个Intent对象,设置其动作为ACTION_GET_CONTENT,并指定数据的MIME类型为image/*

3、使用startActivityForResult()方法启动Intent,以便在用户选择图片后获取结果。

4、重写onActivityResult()方法,以处理用户选择的图片。

下面是具体的代码实现:

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;import androidx.core.app.ActivityCompat;import androidx.core.content.ContextCompat;import android.Manifest;import android.content.Intent;import android.content.pm.PackageManager;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    private static final int REQUEST_CODE_GALLERY = 1001;    private ImageView imageView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imageView = findViewById(R.id.imageView);        Button button = findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {                    ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE_GALLERY);                } else {                    openGallery();                }            }        });    }    private void openGallery() {        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);        intent.setType("image/*");        startActivityForResult(intent, REQUEST_CODE_GALLERY);    }    @Override    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {        if (requestCode == REQUEST_CODE_GALLERY) {            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                openGallery();            } else {                Toast.makeText(this, "权限被拒绝", Toast.LENGTH_SHORT).show();            }        }    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (resultCode == RESULT_OK && requestCode == REQUEST_CODE_GALLERY) {            if (data != null) {                Uri uri = data.getData();                Cursor cursor = getContentResolver().query(uri, new String[]{MediaStore.Images.Media.DATA}, null, null, null);                if (cursor != null && cursor.moveToFirst()) {                    String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));                    cursor.close();                    imageView.setImageBitmap(BitmapFactory.decodeFile(path));                }            }        }    }}

activity_main.xml

<?xml version="1.0" encoding="utf8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/resauto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="打开相册" />    <ImageView        android:id="@+id/imageView"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_marginTop="16dp" /></LinearLayout>

这样,当用户点击“打开相册”按钮时,应用会打开系统相册,用户可以选择一个图片,然后该图片会显示在ImageView中。

android 打开相册

上一篇:抖音发财灯笼怎么获得-抖音发财灯笼获取、灯笼码分享

下一篇:微软将永久删除flash插件