Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
1

Как отправить данные местоположения через ACTION SEND в приложении android?

17.12.2014, 11:12. Просмотров 584. Ответов 3
Метки нет (Все метки)

Здравствуйте!На этом сайте ССЫЛКА я нашел решение для определения своего местоположения. Переменные,в которых находятся координаты местоположения,находятся в этом куске кода:
Java
1
2
3
4
5
6
7
@Override
  public void onLocationChanged(Location location) {
    int lat = (int) (location.getLatitude());
    int lng = (int) (location.getLongitude());
    latituteField.setText(String.valueOf(lat));
    longitudeField.setText(String.valueOf(lng));
  }
Данные отображаются в Activity таким образом:
Широта:
59
Долгота:
49
Далее я пытаюсь отправить эти данные вот таким образом:
Java
1
2
3
4
5
                    Intent sendIntent = new Intent();
                    sendIntent.setAction(Intent.ACTION_SEND);
                    sendIntent.putExtra(Intent.EXTRA_TEXT, lat + "+" + lng);
                    sendIntent.setType("text/plain");
                    startActivity(sendIntent);
После добавления lat + "+" + lng, среда разработки IntelijIDEA, начинает подчеркивать данные переменные красным.
В общем суть вопроса такова: Как правильно и какие переменные записать в эту строку (нужны только полученные 59 и 49):
Java
1
sendIntent.putExtra(Intent.EXTRA_TEXT, lat + "+" + lng);
исходя из всего кода:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package de.vogella.android.locationsapi.simple;
 
import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
 
public class ShowLocationActivity extends Activity implements LocationListener {
  private TextView latituteField;
  private TextView longitudeField;
  private LocationManager locationManager;
  private String provider;
 
  
/** Called when the activity is first created. */
 
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    latituteField = (TextView) findViewById(R.id.TextView02);
    longitudeField = (TextView) findViewById(R.id.TextView04);
 
    // Get the location manager
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    // Define the criteria how to select the locatioin provider -> use
    // default
    Criteria criteria = new Criteria();
    provider = locationManager.getBestProvider(criteria, false);
    Location location = locationManager.getLastKnownLocation(provider);
 
    // Initialize the location fields
    if (location != null) {
      System.out.println("Provider " + provider + " has been selected.");
      onLocationChanged(location);
    } else {
      latituteField.setText("Location not available");
      longitudeField.setText("Location not available");
    }
  }
 
  /* Request updates at startup */
  @Override
  protected void onResume() {
    super.onResume();
    locationManager.requestLocationUpdates(provider, 400, 1, this);
  }
 
  /* Remove the locationlistener updates when Activity is paused */
  @Override
  protected void onPause() {
    super.onPause();
    locationManager.removeUpdates(this);
  }
 
  @Override
  public void onLocationChanged(Location location) {
    int lat = (int) (location.getLatitude());
    int lng = (int) (location.getLongitude());
    latituteField.setText(String.valueOf(lat));
    longitudeField.setText(String.valueOf(lng));
  }
 
  @Override
  public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub
 
  }
 
  @Override
  public void onProviderEnabled(String provider) {
    Toast.makeText(this, "Enabled new provider " + provider,
        Toast.LENGTH_SHORT).show();
 
  }
 
  @Override
  public void onProviderDisabled(String provider) {
    Toast.makeText(this, "Disabled provider " + provider,
        Toast.LENGTH_SHORT).show();
  }
}
Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2014, 11:12
Ответы с готовыми решениями:

Как считать данные в андроид-приложении? Android Studio
ЗДравствуйте, уважаемые программисты, не могли бы вы мне помочь? Как из view...

Как в Android приложении считать данные с хостинга ftp?
Как в Android приложении считать данные с хостинга ftp? Заранее спасибо за...

Нужен совет. java - Как отфильтровать 1 список через 2 в android-приложении ?
Есть 2 списка. Подскажите или дайте совет, как отфильтровать 1 список с помощью...

Как отправить данные json через HttpURLConnection
Здравствуйте! Мне нужно работать с АПИ из приложения. Использую...

Реклама в Android-приложении через WebView
Всем привет. Помогите с советом, пытаюсь вставить рекламу leadbolt.net в свое...

3
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
17.12.2014, 12:17 2
Kroshandowski, так отправьте location целиком
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
17.12.2014, 12:27 3
Kroshandowski, дык переменные у вас локальные - объявлены и видны только для onLocationChanged.
Вне его их не существует.
0
Kroshandowski
2 / 2 / 4
Регистрация: 05.04.2013
Сообщений: 234
17.12.2014, 12:39  [ТС] 4
YuraAAA, каким образом? Как-то так?
Java
1
2
3
4
5
                    Intent sendIntent = new Intent();
                    sendIntent.setAction(Intent.ACTION_SEND);
                    sendIntent.putExtra(Intent.EXTRA_TEXT, location);
                    sendIntent.setType("text/plain");
                    startActivity(sendIntent);
Добавлено через 10 минут
Armagedo, а как это можно решить?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2014, 12:39

Разработка мобильного приложения на ОС Android с функцией определения местоположения обьектов
Ребята , доброго времени суток, долго мучался с определением темы на диплом в...

Email отправить письмо, как реализовать на android?
Как реализовать отправку почты (желательно с файлом) Есть такой код на java...

Как передавать данные в предыдущее activity, используя кнопку назад в action bar?
Я сделал кнопку назад ,прописав в manifest файле(как здесь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru