モバイルがオンになっているときにAndroidでBroadcastReceiverを起動しますか?

StackOverflow https://stackoverflow.com/questions/8861417

質問

バックグラウンドサービスを使用したアプリケーションがあります。私の携帯電話がオフになっている場合、私のサービスはオフになっています。電話が起動したときにサービスを再起動しようとしていますが、開始していません。誰かが私を助けることができますか?私はこのコードを使用しています:

  <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()関数

    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);
役に立ちましたか?

解決

// EqualSignoreCaseを使用する代わりにこの行を使用します

if (Intent.ACTION_BOOT_COMPLETED.equalsIgnoreCase(intent.getAction()))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top