2012-02-27 3 views
0

webservice를 만들었으므로 Android 용 휴대 전화를 단말기로 사용하고 싶습니다. 전화가 웹 서비스에서 메시지를 확인해야합니다.백그라운드에서 Android 서비스가 제공됩니다.

언제든지 특정 웹 서비스를 확인하는 "백그라운드 작업"또는 서비스를 만들 수 있습니까? 이메일이 작동하는 방식이 아닙니까? 가능해야합니다. 안드로이드 폰에 도달하는 "푸시"서비스를 어떻게 만들 수 있습니까?

나는 간단한 서비스를 만들었지 만 몇 분 동안 만 실행 한 다음 서버와 통신하는 것을 "중단"합니다. 화면이 잠길 때 발생하는 것처럼 보입니다.

나는 서비스를 확장하는 수업을 가지고있다. 그리고 나는 다음과 같은 방법을 오버라이드한다.

@Override 
public void onStart(Intent intent, int startId) { 
    Toast.makeText(this, "Service started", Toast.LENGTH_LONG).show(); 
    Log.d(_TAG, "onStart"); 
    timer.scheduleAtFixedRate(new TimerTask() { 
     public void run() { 
      Log.d(_TAG, "running task!! Hello :)"); 
      try { 
       sendSMS(); 
      } catch (ClientProtocolException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    }, 0, 60000); 
} 

표시가 잠길 때까지 매력처럼 작동합니다.

전화는 내가 안드로이드 developement에 꽤 새로운 해요, 및 그 프레임 워크를 모르는 HTC 욕망 S

입니다.

안부 ..

+0

예, 가능합니다. –

+0

예제가 있습니까? 사용할 액자? .. – hogni89

+0

폴링과 같은 간단한 작업에 프레임 워크가 필요하지 않습니다. 백그라운드 서비스 만들기 -> 쿼리 url -> 구문 분석 응답 -> 이익 (-> 반복). 당신은 당신 앞에서 어떤 연구를했습니다. –

답변

1

먼저 장치로 데이터를 밀거나 장치에서 당기면에 결정해야합니다. 귀하의 결정 구현 변화에 따라. 당신은 모든 X 분 후 폴링을 유지하고 데이터를 가져옵니다 것이다 백그라운드 서비스를 만들 수 있습니다

,

서비스에 대한 자세한 내용도 실제로 실행하는 소스 코드를이 블로그 게시물 http://www.zubha-labs.com/android-services-101-part-1을보십시오. 서버에서 밀어위한

또는

사용 안드로이드 C2DM http://code.google.com/android/c2dm/.

+0

당기고 싶습니다. 이것에 대한 예나 튜토리얼이 있습니까? – hogni89

+0

예를 들어 방금 업데이트 된 게시물이 있습니다. 또한 나는이 블로그를 읽는 것이 좋습니다 http://zubhium.posterous.com/whats-the-right-way-to-beta-test-your-mobile 전반적인 훌륭한 포인터 킥 엉덩이 안드로이드 애플 리케이션을 구축. – kodeshpa

0

Service 배경을 만드는 것은 전적으로 가능합니다.

그러나 서비스의 주 목적은 새 메시지를 주기적으로 서버를 확인하는 것이므로 푸시 서비스를 사용하는 것이 좋습니다. Google에는 현재 무료 인 C2DM 전화 번호가 있습니다.

+0

나는 밀고 싶다. 나는 당길 필요가있다. – hogni89

2

다른 포스터가 지적했듯이 앱이 푸시 기반 방식으로 인 텐트를 수신하는 것이 더 적합 할 수 있으므로 리소스를 지속적으로 폴링하지 않습니다.

그러나 특정주기에서 특정 코드를 폴링 및/또는 실행해야하는 경우 Alarm Manager이 원하는 것입니다. 특정 시점에 호출되도록 앱을 등록합니다. 그러면 서비스를 시작하여 데이터를 폴링합니다.

http://developer.android.com/reference/android/app/AlarmManager.html

+0

유망 해 보인다. 나중에 이것을 볼 것입니다 :) – hogni89

관련 문제