2012-06-08 3 views
1

android에서 사용자가 RAM을 지우면 서비스를 자동으로 시작하는 방법 broadcastReciever를 만들고 서비스를 시작했습니다. 죄송합니다. 작동중인 시간은 사용자가 RAM을 지운 다음 서비스가 계속 실행 중이지만 일부 시간은 중지되고 다시 시작되지 않음을 의미합니다. 이 문제사용자가 android에서 RAM을 지우면 서비스를 자동으로 시작합니다.

2) 사용한 알람 매니저를 해결하기 위해하지만 어플은 알람 매니저를 종료 할 수 있도록 내 코드는

public class RecieverToRestartService extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     try 
{ 

      Intent _restartServiceIntent = new Intent(context,InvendisGpsLoggerActivity.class); 
      _restartServiceIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startService(_restartServiceIntent); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

} 

있습니다 자주 교수형과 안드로이드 매니페스트 파일에서 얻는 방법

<receiver android:name="com.i.I.RecieverToRestartService"> 
      <intent-filter> 
       <action android:name="android.intent.action.PACKAGE_REPLACED"/> 
       <action android:name="android.intent.action.PACKAGE_RESTARTED"/>  
      </intent-filter> 
     </receiver> 
+0

귀하의 경우 실제로 서비스를 사용해야합니까? –

+0

@vipul Shah ... 예, 클라이언트 용으로 개발 중이므로 응용 프로그램 용 GUI와 활동 GUI가 필요합니다. 활동 GUI도 숨길 수 있습니다. 매니페스트 파일에서 NODISPLAY 설정을 사용하지만 교수형에 처한 응용 프로그램 GUI 밖으로 응용 프로그램을 실행하려면 서비스가 최선의 선택입니다. –

답변

0

귀하의 경우에는 테스트를 거치지 않았지만 ... 을 public int onStartCommand (Intent intent, int flags, int startId) (으)로 반환하면 메모리 부족으로 휴대 전화가 사망 한 경우 일정 시간이 지나면 서비스가 자동으로 다시 시작됩니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 그러나 START_STICKY로 테스트했지만 RAM을 지우고 서비스를 시작하지 않았습니다. 나는 또한 안드로이드의 문서를 확인하고 그들은 반환 START_STICKY 다음 서비스를 시작합니다 언급했다.하지만 안드로이드 버그가 시작되지 않습니다. 90 % 내 목표는 휴대 전화가 자동으로 시작된 다음 서비스를 다시 시작할 때를 의미합니다. RAM을 지우는 중 서비스가 계속 실행되고 있지만 ICON을 계속 클릭하면 다시는 서비스가 중단되고 RAM이 지워집니다. 살해 됐어. 제발 도와주세요. –

+0

정확하게 당신의 요점을 얻지 못합니다 ... –

+0

미안하지만 분명하지 않다면 죄송합니다. 하지만 난 그냥 안드로이드 전화에 내 애플 리케이션을 설치하고 내가 전화에서 작업 관리자에서 RAM을 지우고 때 응용 프로그램이 죽지 않고 전화를 다시 시작했는지 말해하려고합니다. 하지만 내 응용 프로그램 아이콘을 클릭하고 RAM을 지우면 응용 프로그램이 죽는 문제가 있습니다 .. –

관련 문제