ホーム>source

フォアグラウンドサービスを開始するアプリで作業しています起動完了後。放送でサービスを開始できないことを知っているので、この質問をしています。前進するのに役立つ詳細は見つかりませんでした。私は、毎分ごとに位置情報の更新を提供するフォアグラウンドサービスを使用しています。

ブートリスニングには、Broadcast-Receiverを使用しています。

AndroidManifest.xml  これを書きました。

<receiver
     android:name=".services.receiver.StartUpdateReceiver"
     android:enabled="true"
     android:exported="true"
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
     <intent-filter android:priority="1000">
         <action android:name="android.intent.action.BOOT_COMPLETED" />
     </intent-filter>
</receiver>

ブートレシーバーを受け取った後、同じフォアグラウンドサービスを開始して、1分ごとに位置情報の更新を取得したいです。アクティビティのボタンをクリックして、フォアグラウンドサービスを開始して位置情報の更新を取得すると、正常に機能します。

これを達成する方法を教えてください。

あなたの答え
  • 解決した方法 # 1

    startForegroundService() を使用する  フォアグラウンドサービスを開始します。

  • 解決した方法 # 2

    Android 8.0 introduces the new method startForegroundService() to start a new service in the foreground. After the system has created the service, the app has five seconds to call the service's startForeground() method to show the new service's user-visible notification. If the app does not call startForeground() within the time limit, the system stops the service and declares the app to be ANR. As mentioned in Developers Site Check this

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ c# - WinFormアプリケーションにラベルが表示されない