Форум программистов, компьютерный форум CyberForum.ru

Подскажите с работой сервиса в андроид - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Настройка экрана при откладке в BlueStacks http://www.cyberforum.ru/android-dev/thread923545.html
Добрый день, тормоза и зависания стандартного эмулятора невыносимы. Решил перейти на BlueStacks по этой статье http://habrahabr.ru/company/infopulse/blog/148512/ в которой указано что можно менять тип экрана под мобильный как здесь https://getsatisfaction.com/bstk/topics/hxg3m5nqqxuls Однако на моем эмуляторе такой выбор просто отсутствует! см. скрин
Программирование Android Извлечение данных c TextView Здравствуйте уважаемые форумчане. Как извлеч значение TextView1? Есть TextView хочу построить процедуру if then else public void onClick(View v) { if (TextView1 == 1) { String encodedHash = Uri.encode("#"); http://www.cyberforum.ru/android-dev/thread923515.html
Узнать появился ли scroll в scrollview Программирование Android
Всем привет! Кто знает как программно узнать появился ли скролл в scrollview??
Вывести в программу дату-время компиляции Программирование Android
Дурная затея, но хочется.... Есть ли возможность либо вставить в константу в момент пер-компииляции, либо получить из каких-нибудь характеристик, уже встроенных в проект через API? На этапе отладки это проще номера версии. А отладочных устройств несколько.
Программирование Android Обращение к файлу ресурсов http://www.cyberforum.ru/android-dev/thread923296.html
Всем доброго времени суток. У меня вопрос как можно, и можно ли, обратиться к файлу ресурса моего приложения (изображение) для его последующего копирования (например на карту памяти). Собственно как скопировать я знаю, а как обратиться это вопрос.
Программирование Android Android + Firebird Всем привет ! Пытаюсь подключиться к БД Firebird из программки под Android. Здесь - http://www.firebirdnews.org/?p=8620 пишут, что всё должно работать и примерчик имеется для NB. Эмулятор андроида для NB не смог найти. Попробывал тоже самое в Eclipse, jar файл драйвера взял из примера. Вот кусок кода где происходит обращение к базе: public void myClick(View v){ TextView tvOut =... подробнее

Показать сообщение отдельно
jenyakirmiza
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 90

Подскажите с работой сервиса в андроид - Программирование Android

15.07.2013, 19:39. Просмотров 1092. Ответов 4
Метки (Все метки)

вообщем вот у меня есть сервис:

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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
import java.util.ArrayList;
import java.util.List;
 
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.app.Service;
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.Process;
import android.util.Log;
import android.widget.Toast;
 
public class GPSService extends Service {
        private Double lat=0.0;
        private Double lon=0.0;
        JSONParser jsonParser = new JSONParser();
 
        // url to create new product
        private static String url_create_product = "http://**********/android_connect/create_product.php";
 
        // JSON Node names
        private static final String TAG_SUCCESS = "success";
      private Looper mServiceLooper;
      private ServiceHandler mServiceHandler;
 
      // Handler that receives messages from the thread
      private final class ServiceHandler extends Handler {
          public ServiceHandler(Looper looper) {
              super(looper);
          }
          @Override
          public void handleMessage(Message msg) {
              // Normally we would do some work here, like download a file.
              // For our sample, we just sleep for 5 seconds.
              _getLocation();
              String coord1 = lat.toString();           
                String coord2 = lon.toString();
                // Building Parameters
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("coord1", coord1));
                params.add(new BasicNameValuePair("coord2", coord2));
                params.add(new BasicNameValuePair("description", "1"));
 
                // getting JSON Object
                // Note that create product url accepts POST method
                JSONObject json = jsonParser.makeHttpRequest(url_create_product,
                        "POST", params);
                
                // check log cat fro response
                Log.d("Create Response", json.toString());
 
                // check for success tag
                try {
                    int success = json.getInt(TAG_SUCCESS);
 
                    if (success == 1) {
                        // successfully created product
                    /*  Intent i = new Intent(getApplicationContext(), AllProductsActivity.class);
                        startActivity(i);
                        finish();
                        */
                        
                    } else {
                        // failed to create product
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
 
              long endTime = System.currentTimeMillis() + 5*1000;
              while (System.currentTimeMillis() < endTime) {
                  synchronized (this) {
                      try {
                          wait(endTime - System.currentTimeMillis());
                      } catch (Exception e) {
                      }
                  }
              }
              // Stop the service using the startId, so that we don't stop
              // the service in the middle of handling another job
              stopSelf(msg.arg1);
          }
      }
 
      @Override
      public void onCreate() {
        // Start up the thread running the service.  Note that we create a
        // separate thread because the service normally runs in the process's
        // main thread, which we don't want to block.  We also make it
        // background priority so CPU-intensive work will not disrupt our UI.
        HandlerThread thread = new HandlerThread("ServiceStartArguments",
                Process.THREAD_PRIORITY_BACKGROUND);
        thread.start();
        
        // Get the HandlerThread's Looper and use it for our Handler 
        mServiceLooper = thread.getLooper();
        mServiceHandler = new ServiceHandler(mServiceLooper);
      }
 
      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
 
          // For each start request, send a message to start a job and deliver the
          // start ID so we know which request we're stopping when we finish the job
          Message msg = mServiceHandler.obtainMessage();
          msg.arg1 = startId;
          mServiceHandler.sendMessage(msg);
          
          // If we get killed, after returning from here, restart
          return START_STICKY;
      }
 
      @Override
      public IBinder onBind(Intent intent) {
          // We don't provide binding, so return null
          return null;
      }
      
      @Override
      public void onDestroy() {
        Toast.makeText(this, "service done", Toast.LENGTH_SHORT).show(); 
      }
      private void _getLocation() {
            // Get the location manager
            LocationManager locationManager = (LocationManager) 
                    getSystemService(LOCATION_SERVICE);
            Criteria criteria = new Criteria();
            String bestProvider = locationManager.getBestProvider(criteria, false);
            Location location = locationManager.getLastKnownLocation(bestProvider);
            LocationListener loc_listener = new LocationListener() {
 
                public void onLocationChanged(Location l) {}
 
                public void onProviderEnabled(String p) {}
 
                public void onProviderDisabled(String p) {}
 
                public void onStatusChanged(String p, int status, Bundle extras) {}
            };
            locationManager
                    .requestLocationUpdates(bestProvider, 0, 0, loc_listener);
            location = locationManager.getLastKnownLocation(bestProvider);
            try {
                lat = location.getLatitude();
                lon = location.getLongitude();
            } catch (NullPointerException e) {
                lat = -1.0;
                lon = -1.0;
            }
        }
    }
я его запускаю таким образом:
Java
1
2
                Intent intent = new Intent(this, GPSService.class);
        startService(intent);


и он у меня работает, но мне требуется сделать так чтоб сервис работал сам без моего вмешательства. То есть я запускаю приложение, и сервис начинает работать сам, мне нужно чтоб он срабатывал каждые 5 минут. То есть я сижу в телефоне, использую другие программы, а в это время у меня в фоне работает сервис и я ему не мешаю и он мне тоже не мешает.

вообщем мне нужно создать не сервис, а службу которая работает в фоне. как это сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru