2012-01-14 6 views
0

백그라운드 서비스를 사용하는 응용 프로그램이 있습니다. 내 휴대폰이 꺼져 있으면 내 서비스가 꺼져 있습니다. 전화가 부팅 될 때 서비스를 다시 시작하려고하지만 시작 중이 아닙니다. 아무도 나를 도울 수 있습니까?모바일이 켜져있을 때 Android에서 BroadcastReceiver를 시작 하시겠습니까?

public void onReceive(Context context, Intent intent) { 
      if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { 
       Intent i = new Intent(); 
       i.setAction("com.android.ConnectionReceiver"); 
       context.startService(i); 
      } 
       NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); 

       if(null != info) 
       { 
         String state = getNetworkStateString(info.getState()); 
         if(state.equals("Connected")){ 
          mTimer = new Timer(); 
          mTimerTask = new TimerTask() { 
           @Override 
           public void run() { 
            loginForm.this.runOnUiThread(new Runnable() { 

             @Override 
             public void run() { 


                insertAllGps(); 



            }); 

           } 
          }; 
          mTimer.scheduleAtFixedRate(mTimerTask,180000,180000); 
+0

를 사용하는 대신에이 선() 함수를 사용

<receiver android:name=".ConnectionReceiver" android:enabled="true" android:exported="false" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

갱신 onReceive :이 코드를 사용하고 뭘 하려구? – confucius

+0

위도 및 경도 값 – Mercy

+0

을 얻으려면이 사용 권한이 있습니까? 사용 권한 android : name = "android.permission.INTERNET"/>? – confucius

답변

0

가 // 등호를 어떤 서비스 내부 equalsIgnoreCase

if (Intent.ACTION_BOOT_COMPLETED.equalsIgnoreCase(intent.getAction()))