2026-08-14 05:05:39 英雄殿堂

Android笔记--发送彩信

发送彩信

界面还是那个界面,图片也实现了从相册进行选择图片,选择完成之后,就会回到界面里面的功能;

下面接着实现发送彩信的完整版;

具体实现如下:

界面代码不再展示,主要着重于后台的代码编写啦!

1、先获取到各个文本输入框以及“发送彩信”按钮的id,用来出发相应的点击事件

2、然后编写button的点击事件

其中运用到一个自定义的函数方法--setMess:

源代码在此:

package com.example.myapplication;

import androidx.activity.result.ActivityResult;

import androidx.activity.result.ActivityResultCallback;

import androidx.activity.result.ActivityResultLauncher;

import androidx.activity.result.contract.ActivityResultContracts;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageView;

public class tiaoPhoto extends AppCompatActivity implements View.OnClickListener {

private ImageView iv_photo;

private Button btn_send;

private EditText et_hao;

private EditText et_top;

private EditText et_body;

private Uri pUri;

private ActivityResultLauncher resultLauncher;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_tiao_photo);

//获取到手机号码,标题和内容

et_hao=findViewById(R.id.et_hao);

et_top=findViewById(R.id.et_top);

et_body=findViewById(R.id.et_body);

iv_photo=findViewById(R.id.iv_photo);

iv_photo.setOnClickListener(this);//设置点击事件

//获取到发送彩信的按钮点击事件

btn_send=findViewById(R.id.btn_send);

//发送彩信点击事件

btn_send.setOnClickListener(this);

//跳转到系统相册,选择图片,并返回

resultLauncher=registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() {

@Override

public void onActivityResult(ActivityResult result) {

if(result.getResultCode()==RESULT_OK){

Intent intent=result.getData();

//获得选中文件的路径对象

pUri=intent.getData();

if(pUri!=null){

iv_photo.setImageURI(pUri);

Log.d("ning","pUri"+pUri.toString());

}

}

}

});

}

@Override

public void onClick(View view) {

switch(view.getId()){

case R.id.iv_photo:

//跳转到系统相册,选择图片,并返回

Intent intent=new Intent(Intent.ACTION_GET_CONTENT);

//确定需要的图片类型

intent.setType("image/*");

resultLauncher.launch(intent);//返回之后,跳转到上面的那个方法里面

break;

case R.id.btn_send:

//发送带有图片的彩信

setMess(et_hao.getText().toString(),

et_top.getText().toString(),

et_body.getText().toString());

break;

}

}

//发送带有图片的彩信的函数方法

private void setMess(String hao, String top, String body) {

Intent intent=new Intent(Intent.ACTION_SEND);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

//允许读取图片的uri的地址

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

//发送彩信号码

intent.putExtra("address",hao);

//发送彩信标题

intent.putExtra("subject",top);

//发送彩信内容

intent.putExtra("subject",body);

//发送图片附件

intent.putExtra(Intent.EXTRA_STREAM,pUri);

//指定类型

intent.setType("image/*");

//弹出底部弹窗

startActivity(intent);

}

}

结果展示

成龙出生即“爆款”!原来成龙刚出生就出名了!
怎么打开微信步数?
top