2016-11-15 3 views
6

Googleアカウントからサインインしているので、ユーザーのGoogleApiClientにアクセスできます。以下のコードでは、現在ログインしているユーザーにGeofenceが作成されます。例:ユーザーAがアプリケーションにログインし、GoogleApiClientにアクセスできるので、geFenceはaddGeofences関数で作成され、パラメータはmGoogleApiClient(現在のユーザーのGoogleApiClient)となります。異なるユーザーにGeofenceを作成する

ユーザBにジオフェンスを作成するにはどうすればよいですか?ユーザーBにジオフェンスを作成するには、GoogleApiClientにどのようにアクセスできますか?つまり、他のユーザーにジオフェンスを作成するにはどうすればいいですか?助けてください!

public void addGeofencesButtonHandler(View view) { 
    if (!mGoogleApiClient.isConnected()) { 
     Toast.makeText(this, getString(R.string.not_connected), Toast.LENGTH_SHORT).show(); 
     return; 
    } 

    try { 
     populateGeofenceList();// creates geofence from list 
     LocationServices.GeofencingApi.addGeofences(
       mGoogleApiClient, 
       // The GeofenceRequest object. 
       getGeofencingRequest(), 
       // A pending intent that that is reused when calling removeGeofences(). This 
       // pending intent is used to generate an intent when a matched geofence 
       // transition is observed. 
       getGeofencePendingIntent() 
     ).setResultCallback(this); // Result processed in onResult(). 
    } catch (SecurityException securityException) { 
     // Catch exception generated if the app does not use ACCESS_FINE_LOCATION permission. 
     logSecurityException(securityException); 
    } 
} 

答えて

1

私は同じ質問を持っている、と私は今を考えていますアイデアは、次のとおりです。

  1. ユーザーAがユーザーBのためのジオフェンスを作成して、リモート・データベース内の中心点と半径を保存します、ユーザBは、このデータを「プッシュ通知」によって検索し、このデータに応じてデバイスBにジオフェンスを追加し、ユーザBがジオフェンスに入るときに、ユーザAにプッシュ通知を送る。

または

  1. ユーザーBの場所を5分ごとに取得し、その場所を取得するたびに、ユーザーBの場所とジオフェンスの中心点の間の距離を手動で計算しますユーザBがジオフェンス内にいることを意味する半径よりも小さい。

は、私はGoogleのジオフェンスAPIの多くを検索するが、私は別の場所ポイントの「いない現在のデバイスの場所」


ノートAPIを使用する方法の有用何も見つけることができませんでした:
ここで答える手動ジオフェンスを実装する方法を示しています。 Is there any API for calculating Geofence breach other than Android API's

私が参考になりますここであなたのような質問をし、回答をすることがあります。
Android: How to make user create geofence for another tracked users?

関連する問題