使用SmsManager发送短信

时间:2017-04-11 20:44:46

标签: android sms smsmanager

我正在尝试在Android Studio中创建一个Android应用程序,只需按一下按钮就会将包含固定消息的短信发送到固定号码。

我使用名为button1的按钮创建了一个布局。

这是我的MainActivity.java(取消了stackoverflow,看起来很简单,很好)

package com.example.hfbkalarm;

import android.app.Activity;

import android.telephony.SmsManager;

import android.widget.Button;


public class MainActivity extends Activity {
sendMySmsBtn=(Button)findViewById(R.id.button1);
 sendMySmsBtn.setonclickListener(new OnClickListener(){
    public void Onclick()
    {
        sendSMS("<the number goes here>", "<message goes here>");
    });


private void sendSMS(String phoneNumber, String message)
{
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message,null, null);
}

sendMySmsBtn显示为红色,表示无法解析符号&#39; sendMySmsBtn&#39;尝试在手机上运行时出现10个错误。

由于对同一个问题的每个答案看起来都不同,我对这方面的经验很少而且我完全失去了。

修改

我做了Nisalon在他编辑的答案中提出的建议。

在这个部分&#34;(新的OnClickListener()&#34; OnClickListener仍然是红色的,但是现在它给了我一个在View或DialogInterface中导入OnClickListener的选项

此部分之后的OnClick也是灰色的,并且表示该变量从未使用过。

public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Button sendMySmsBtn =(Button)findViewById(R.id.button1);

    sendMySmsBtn=(Button)findViewById(R.id.button1);
    sendMySmsBtn.setOnClickListener(new OnClickListener(){
        public void Onclick()
        {
            sendSMS("<the number goes here>", "<message goes here>");
        });
    }
 }

        private void sendSMS(String phoneNumber, String message)
        {
            SmsManager sms = SmsManager.getDefault();
            sms.sendTextMessage(phoneNumber, null, message,null, null);
        }
    }

我看过其他短信代码中使用的View,但我该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要先定义按钮变量:

Button sendMySmsBtn =(Button)findViewById(R.id.button1);

此外,您需要修复setOnClickListener方法的大小写:

sendMySmsBtn.setOnClickListener(new OnClickListener(){

确保您已将{SEND_SMS权限添加到AndroidManifest.xml

Button sendMySmsBtn......here>"); });的代码需要包含在onCreate方法中,如下所示:

 /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

Button sendMySmsBtn =(Button)findViewById(R.id.button1);

sendMySmsBtn=(Button)findViewById(R.id.button1);
sendMySmsBtn.setOnClickListener(new OnClickListener(){
    public void onClick()
    {
        sendSMS("<the number goes here>", "<message goes here>");
    });

   }

确保您有一个名为activity_main.xml的布局文件,其中包含一个名为button1的按钮

导入android.view.View.OnClickListener并更正onClick

的大小写