Android 允许直接从应用程序发送 SMS 消息。
应用程序必须具有发送 SMS 消息的权限。因此,我们需要SEND_SMS
在清单文件中请求权限。
app/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<uses-permission android:name="android.permission.SEND_SMS" />
<application>
...
</application>
</manifest>
ContextCompat.checkSelfPermission()
使用我们检查是否授予所需权限的方法。如果没有,那么我们通过调用方法请求许可ActivityCompat.requestPermissions()
。
SmsManager
管理 SMS 操作。我们可以使用getDefault()
静态方法来获取SmsManager
. 可以使用方法发送短信sendTextMessage()
。
app/src/main/java/com/example/app/MainActivity.kt
package com.example.app
import android.Manifest
import android.content.pm.PackageManager
import android.os.Bundle
import android.telephony.SmsManager
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity()
{
private val permission: String = Manifest.permission.SEND_SMS
private val requestCode: Int = 1
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if (ContextCompat.checkSelfPermission(this, permission)
!= PackageManager.PERMISSION_GRANTED
) {
ActivityCompat.requestPermissions(this, arrayOf(permission), requestCode)
} else {
sendSms()
}
}
private fun sendSms()
{
val smsManager = SmsManager.getDefault()
val phoneNumber = "154XXXXXXXX"
val message = "Hello"
smsManager.sendTextMessage(phoneNumber, null, message, null, null)
}
}
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。