概述
工程目录:
增加两行动态权限:
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
MainActivity
package com.example.demo_eleven;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
static String[] permissions={
"android.permission.SEND_SMS",
"android.permission.READ_PHONE_STATE"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<String> list=new ArrayList<>();
list.clear();
for(int i=0;i<permissions.length;i++){
if(ContextCompat.checkSelfPermission(this,permissions[i])!= PackageManager.PERMISSION_GRANTED){
list.add(permissions[i]);
}
}
if(list.isEmpty()){
fun();
}else{
String[] needP=list.toArray(new String[list.size()]);
ActivityCompat.requestPermissions(this,needP,1);
}
}
void fun(){
findViewById(R.id.button).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
EditText et1=findViewById(R.id.et1);
EditText et2=findViewById(R.id.et2);
SmsManager smsManager=SmsManager.getDefault();
List<String> list=smsManager.divideMessage(et2.getText().toString());
for(String sms:list){
smsManager.sendTextMessage(et1.getText().toString(),null,sms,null,null);
}
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch(requestCode){
case 1:
for(int i=0;i<grantResults.length;i++){
if(grantResults[i]!=PackageManager.PERMISSION_GRANTED){
Toast.makeText(this, "权限不足,功能无法全部实现!", Toast.LENGTH_SHORT).show();
finish();
}
}
fun();
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tel:" />
<EditText
android:id="@+id/et1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Message:" />
<EditText
android:id="@+id/et2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="340sp"
android:ems="10"
android:layout_weight="1"
android:inputType="textPersonName"
android:text="" />
</LinearLayout>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="150sp"
android:textAllCaps="false"
android:text="Send" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
最后
以上就是迷你羽毛为你收集整理的Android发送短信的全部内容,希望文章能够帮你解决Android发送短信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复