0

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

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

回答:

我在 Nagaraj436 & 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();
4

3 回答 3

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>
于 2012-12-26T04:32:20.383 回答
1

试试这个:

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

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

根据您的评论:editLocation.getText().toString()用于获取您在编辑文本中设置的位置详细信息。

于 2012-12-26T04:32:21.247 回答
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 的值并通过 sms manager 发送值发送

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(smsNumber, null, youredittex, null, null);
于 2012-12-26T05:01:17.653 回答