【问题标题】:How to send a message in Android?如何在 Android 中发送消息?
【发布时间】:2012-08-23 22:17:23
【问题描述】:

目前我在 Android 的消息撰写屏幕中工作,使用 Intent 显示消息撰写屏幕,然后我输入了电话号码和消息。

我为发送按钮设置了sendSMS 方法,但是当我按下发送按钮时,它没有调用sendSMS 方法。

如何在消息撰写屏幕中设置发送按钮的方法?请帮我。 是否可以设置发送按钮的方法?

提前致谢

源代码供大家参考:

Texts.Java 类

public class Texts extends Activity
{
     public void onCreate(Bundle savedInstanceState)
     {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.message_tab_screen);

            Button Compose =(Button) findViewById(R.id.button1);
            Compose.setOnClickListener(new Button.OnClickListener() 
            {
                public void onClick(View v)
                {
                    Intent intent = new Intent("android.intent.action.VIEW");
                    intent.putExtra("sms_body", "");
                    Uri data = Uri.parse("sms:");
                    intent.setData(data);
                    startActivity(intent);
                }
            });
     }

     //---sends an SMS message method
        private void sendSMS(String phoneNumber, String message)
        {        
                    System.out.println("SEND MESSAGE");
        }    


}

message_tab_screen.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="Message Compose " />       
    </RelativeLayout>

【问题讨论】:

  • 其实是你调用系统intent Intent intent = new Intent("android.intent.action.VIEW");因此,您无法为“发送”按钮设置任何控件。您必须设计自定义页面和按钮来实现您的想法。
  • 感谢您的回复,是的,我已经使用意图创建消息撰写屏幕,是否可以设置发送按钮的方法?

标签: android button message send


【解决方案1】:

使用内置短信应用发送短信:

Intent i = new Intent(android.content.Intent.ACTION_VIEW);

i.putExtra("address", "09090909; 092322424; 123456778");

i.putExtra("sms_body", "SMS Content");

i.setType("vnd.android-dir/mms-sms");

startActivity(i);

在没有 UI 的情况下发送短信:

 SmsManager sms = SmsManager.getDefault();
 sms.sendTextMessage(phoneNumber, null, message, null, null);

【讨论】:

    【解决方案2】:

    Creating a SMS Application in Android?

    http://mobiforge.com/developing/story/sms-messaging-android

    试试这个例子来创建自定义 SMS 应用程序并设置发送按钮的操作。

    【讨论】:

    • 可以,如果您创建自己的自定义按钮。
    【解决方案3】:
    public class MainActivity extends Activity {
       Button btnSendSMS;
       /** Called when the activity is first created. */
       @Override
       public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
            btnSendSMS.setOnClickListener(new View.OnClickListener()
            {
                 public void onClick(View v)
                {
                     sendSMS(“5556”, “Hello my friends!”);
                }
            });
       }
       //---sends an SMS message to another device---
       private void sendSMS(String phoneNumber, String message)
       {
                 SmsManager sms = SmsManager.getDefault();
                 sms.sendTextMessage(phoneNumber, null, message, null, null);
       }
    }
    

    使用此代码............

    【讨论】:

      【解决方案4】:

      其实试试这个

      btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
      btnSendSMS.setOnClickListener(new View.OnClickListener()
      {
             public void onClick(View v)
             {
                   sendSMS(“5556”, “Hello my friends!”);
              }
      });
      

      【讨论】:

      • 感谢您的回复,我没有使用布局屏幕中的任何按钮。
      • SmsManager sms = SmsManager.getDefault();使用这个短信管理器
      • 编辑你的答案,不要添加新的,除非它们实际上是对问题的不同答案。
      • private void sendSMS(String phoneNumber, String message) { SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumber, null, message, null, null); }
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      相关资源
      最近更新 更多