在Android应用程序中,可以通过短信发送当前位置或上次的位置信息。下面是一种实现方式:
<uses-permission android:name="android.permission.SEND_SMS" />
下面是一个示例代码:
import android.Manifest;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements LocationListener {
private LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 检查发送短信权限
if (checkSelfPermission(Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.SEND_SMS}, 1);
}
// 获取位置信息
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
}
}
@Override
public void onLocationChanged(Location location) {
// 获取到位置信息后发送短信
String message = "当前位置:\n经度:" + location.getLongitude() + "\n纬度:" + location.getLatitude();
sendSMS("手机号码", message);
}
private void sendSMS(String phoneNumber, String message) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
Toast.makeText(getApplicationContext(), "短信发送成功", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "短信发送失败", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
// 其他LocationListener的回调方法
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
@Override
public void onProviderEnabled(String provider) {}
@Override
public void onProviderDisabled(String provider) {}
}
请注意,上述代码中的"手机号码"需要替换为实际的手机号码。
这种方式可以在Android应用程序中获取到当前位置或上次的位置信息,并通过短信发送出去。
领取专属 10元无门槛券
手把手带您无忧上云