Неверный 2-й тип аргумента. Найдено 'java.lang.String', требуется 'android.location.Location' - PullRequest
0 голосов
/ 29 марта 2019

Здравствуйте. Я пытаюсь отправить свое местоположение с помощью SMS, но постоянно получаю одно сообщение об ошибке, в котором говорится:

Wrong 2nd argument type. Found: 'java.lang.String', required: 'android.location.Location'

Информация о проверке:

sendLocationSMS(String,android.location.Location)

в FullscreenActivity не может быть применено(String,java.lang.String)

Вот конкретные строки кода, которые я использую:

private void sendLocationSMS(String phoneNumber, Location currentLocation) {
    SmsManager smsManager = SmsManager.getDefault();
    StringBuffer smsBody = new StringBuffer();
    smsBody.append("http://maps.google.com?q=");
    smsBody.append(currentLocation.getLatitude());
    smsBody.append(",");
    smsBody.append(currentLocation.getLongitude());
    smsManager.sendTextMessage(phoneNumber, null, smsBody.toString(), null, null);
}

В моем onCreate у меня есть это:

sendLocationSMS("MY PHONE NUMBER", "");

Ответы [ 3 ]

0 голосов
/ 29 марта 2019

Вы передаете пустую String в качестве второго аргумента, в то время как ваш метод требует, чтобы вы передали параметр типа Location.Таким образом, измените sendLocationSMS("MY PHONE NUMBER", "");, чтобы передать переменную типа Location во второй параметр.Попробуйте это на вашем onCreate
Я заметил, что вы не читали о классе `` Location```, поэтому прочитайте его здесь

String provider = ""; // change this to your provider
Location currentLocation = new Location(provider);
sendLocationSMS("MY PHONE NUMBER", currentLocation);
0 голосов
/ 29 марта 2019

Как показывают ответы, это явное несоответствие типов аргументов.Найти здесь , как узнать текущее местоположение.Если вы не хотите передавать фактические данные о местоположении, просто создайте новый объект Location и передайте его вызову метода.

0 голосов
/ 29 марта 2019

В sendLocationSMS("MY PHONE NUMBER", ""); второй аргумент является строкой, вы должны использовать Location объект. Попробуйте создать новое местоположение и укажите в качестве второго аргумента.

...