8

this tutorialを使用してGoogle Location APIを実装し始めました。GoogleロケーションAPI:保留中のインテントを含むロケーション更新をリクエストしますか?

アプリケーションで正常に動作するように管理しました。正しい間隔で私の位置を更新しました。今、デバイスがスリープモードになっているときに自分の位置を更新する方法を検討しています。 documentationによると、この方法は、移動するための方法である:

public void requestLocationUpdates (LocationRequest request, PendingIntent callbackIntent); 

私の質問は、私はこのPendingIntentを設定するのですか、である、そしてどのように私はそれを扱うのですか?私は他のタイプのインテントを扱う方法のチュートリアルを見てきましたが、私はそれをどのようにこの方法に適用するかはわかりません。あなたはboardcastのレシーバを登録するためのintent.Sample例を保留してBroardcastレシーバまたはアクティビティを登録することができ

答えて

4

次のいずれか

String proximitys = "ACTION"; 
    IntentFilter filter = new IntentFilter(proximitys); 
    registerReceiver(mybroadcast, filter); 
    Intent intent = new Intent(proximitys); 
    PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0, 
      intent, PendingIntent.FLAG_CANCEL_CURRENT); 
    locationManager.requestLocationUpdates(provider, mintime, mindistance, 
      proximityIntent); 

あなたBroardcastレシーバ:

public class ProximityIntentReceiver extends BroadcastReceiver { 

    @SuppressWarnings("deprecation") 
    @Override 
    public void onReceive(Context arg0, Intent intent) { 
      //action to be performed 
    } 
+0

は、あなたの迅速な答えをありがとう!しかし、コードについていくつか質問があります。正確には「マイブロードキャスト」とは何ですか、そしてそれをどこで宣言しますか? LocationManagerは使用していませんがLocationClientを使用していますが、このコードはとにかく動作しますか? – HigiPha

+0

申し訳ありませんが、私は私の場所のクライアントで働いたことがないが、保留中の意図を渡すことができますそれは動作する必要があります: –

+0

私はそれを試してみて、 LocationListener:画面が点灯してもうまく動作しますが、スリープモードにしたり、ホーム画面に移動して他のアプリケーションを起動したりすると、残念ながら場所は更新されません。/ – HigiPha

関連する問題