使用按钮单击将EditText数据发送到预定义的联系人号码

时间:2012-12-26 04:25:53

标签: android android-layout android-intent android-emulator android-widget

我制作了一个程序,其中我在编辑文本中获取设备的当前位置详细信息和显示,但现在我想发送设备的当前位置详细信息为使用短信的其他设备,以及其他设备的联系号码我想在我的代码中定义:XXXXXXX9,

所以请帮助我做到这一点对我来说可能.......

答案:

我在Nagaraj436&amp ;;的帮助下编写了代码。 Appu,像这样:

String phoneNumber = "XXXX9";
String message = editLocation.getText().toString();
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
Toast.makeText(getApplicationContext(), 
                    "Message Sent!", Toast.LENGTH_LONG).show();

3 个答案:

答案 0 :(得分:1)

public void onClick(View v)
{
  sendSMS(yourPhoneNumber,editLocation.getText().toString());
}

在您点击按钮时编写并调用以下方法。

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

并使用以下权限。

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

答案 1 :(得分:1)

试试这个:

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

其中phoneNumber =您的目的地号码,而消息是包含您的位置详细信息的字符串。

根据您的评论:使用editLocation.getText().toString()获取您在edittext中设置的位置详细信息。

答案 2 :(得分:1)

  

您可以在此处获取位置详情:

private class mylocationlistener implements LocationListener {
    @Override 
    public void onLocationChanged(Location location) {    
     Date today = new Date();  
  Timestamp currentTimeStamp = new Timestamp(today.getTime());  
        if (location != null) {
        Log.d("LOCATION CHANGED", location.getLatitude() + "");
        Log.d("LOCATION CHANGED", location.getLongitude() + "");
        Strig str = "\n CurrentLocation: "+
            "\n Latitude: "+ location.getLatitude() + 
            "\n Longitude: " + location.getLongitude() + 
            "\n Accuracy: " + location.getAccuracy() + 
            "\n CurrentTimeStamp "+ currentTimeStamp;         
          Toast.makeText(LocationSample.this,str,Toast.LENGTH_LONG).show();
          tv.append(str);               
        } 
    } 

现在获取latlong的值并通过短信管理器发送值

发送
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(smsNumber, null, youredittex, null, null);