1. 程式人生 > >用Intent隱式跳轉呼叫相簿回撥

用Intent隱式跳轉呼叫相簿回撥

package com.work.list.jiwazii;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioGroup;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
private Button button;

private final int RC_CAMERA = 1;
private final int RC_ALBUM = 2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //通過intent隱式跳轉獲取系統相機相簿
    //初始化控制元件
    initView();
    //點選事件
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //點選按鈕觸發事件
            openbutton();
        }
    });
}

private void openbutton() {
    //定義dialog
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setTitle("請選擇");
    builder.setItems(new String[]{"相機", "相簿"}, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            switch (which) {
                //相機
                case 0:
                    Intent intent_camera = new Intent("android.media.action.IMAGE_CAPTURE");
                    startActivityForResult(intent_camera, RC_CAMERA);//rc_camera
                    break;
                //相簿
                case 1:
                    Intent intent_album = new Intent(Intent.ACTION_PICK);
                    intent_album.setType("image/*");
                    startActivityForResult(intent_album,RC_ALBUM);
                    break;
            }
        }
    });
    builder.create().show();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    switch (requestCode) {
        case RC_CAMERA:
            Toast.makeText(MainActivity.this, "相機回撥", Toast.LENGTH_SHORT).show();
            break;
        case RC_ALBUM:
            Toast.makeText(MainActivity.this, "相簿回撥", Toast.LENGTH_SHORT).show();
            break;
    }
}

private void initView() {
    button = findViewById(R.id.button);
}

}
//----------------佈局----------------

<?xml version="1.0" encoding="utf-8"?>

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="選擇圖片"
    android:textSize="25sp" />