2017-01-18 12 views
0

2つの場所を設定するアプリを作成してAndroidの開発スキルを練習したいと思います。もっと面白くするために、私は運転中/到着中にそれらを設定したいだけです。最初のstartLocationは、ユーザーが19km/hより速いときに作成されます。私はGoogleからのFusedLocationApiでonLocationChangedイベントでそれを取得します。運転中のAndroid

明らかに、endLocationをいつ作成するのかという疑問があります。私の解決策は、速度が19km/h以下で2分待っているとハンドラを実行することです。速度が2km以内で19km/hより速くなったら、endLocationが設定されます。

私はこの問題の解決策をいくつか聞きたいと思いますが、

ありがとう

答えて

1

これは5年前に同様のアプリを書いたときに使用したソリューションです。それ以来、Googleは、ユーザーが歩いているか、自転車に乗っているか、運転しているかを判断するアクティビティ検出機能を搭載しています。私は今それを使用しています。

+0

であることができます。https://code.tutsplus.com/tutorials/how-to-recognize-user -activity-with-activity-recognition - cms-25851しかし、私はすでにFusedLocationApiにGoogleApiClientを使って場所を取得しています。この2つのApisを一度にどのように組み合わせますか? – niksn

+0

私はgoogleClientのAPIを2倍追加することでそれを達成しました。 mGoogleApiClientは=新しいGoogleApiClient.Builder(本) .addConnectionCallbacks(本) .addOnConnectionFailedListener(本) .addApi(LocationServices.API) .addApi(ActivityRecognition.API) .build()。 – niksn

0

2分待つハンドラを使用するソリューションは、最善の方法ではありません。 あなたのアクティビティが破棄される可能性があるためです。

あなたはAlarm Manager を使用してタスクをスケジュールするか、またはあなたが21+最良の選択肢をAPIを使用している場合は、私はこれを見つけたenter link description here

関連する問題