gpt4 book ai didi

java - 使用Android Studio 3.0发送短信

转载 作者:行者123 更新时间:2023-12-02 11:54:42 24 4
gpt4 key购买 nike

发送短信(不仅仅是创建文本并要求用户点击发送)并不是那么困难,但我花了过去 11 个小时阅读每个 stackoverflow 条目,但还是失败了。我现在想知道该方法最近是否发生了变化,因为这些示例似乎都不起作用。如果有人能帮助我解决这个问题,我将不胜感激。这是我的第一篇文章,如果我没有遵守社区的惯例,我深表歉意。

这是我的 AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="joe.sms">

<uses-permission android:name="android.permission.SEND_SMS" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

这是我的主要 Activity :

package.joe.sms;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.SmsManager;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("+1716255xxxx", null, "Test message", null, null);
}
}

注意:我在实际代码中使用了完整的电话号码。

结果如下:

error message screen shot

预先感谢您的帮助。

最佳答案

像这样实现代码,

  private static final int SEND_SMS_CODE = 23;

检查是否授予许可,如果授予许可,请发送短信请求许可。

private void permissionCheck(){
if (isSendSmsAllowed()) {
sendSms();
return;
}

requestSmsSendPermission();}

发送短信功能。

private void sendSms(){
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage("MESSAGE");
sms.sendMultipartTextMessage(90******, null, parts, null,
null);}

如果未获得许可,则请求许可。

//Requesting permission
private void requestSmsSendPermission() {

if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.SEND_SMS)) {
//If the user has denied the permission previously your code will come to this block
//Here you can explain why you need this permission
//Explain here why you need this permission
}

//And finally ask for the permission
ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.SEND_SMS },
SEND_SMS_CODE);
}

希望对您有帮助。

关于java - 使用Android Studio 3.0发送短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47680049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com