2016-07-22 8 views
1

Ich möchte in der Lage sein, den aktuellen Standort und die Aktivität in meiner Android App zu bekommen. Ich habe es implementiert, aber es scheint nie etwas zurückzugeben. Wenn ich debugge, ruft es nie OnResult-Methode auf. Es gibt nur nichts zurück. Zum Beispiel sollte im unteren Code die aktuelle Benutzeraktivität als I/Awareness: DetectedActivity [type = STILL, confidence = 100] zurückgegeben werden, aber es wird nichts angezeigt.Awareness Snapshot APi funktioniert nicht für Android

Ich teste dies auf Android v6.0 und ja, die genaue Position ist in meinem Manifest und auf meinem Telefon eingeschaltet.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" /> 

Hier ist mein Code für das Erhalten der Aktivität:

public class MainActivity extends AppCompatActivity { 

    private static final String TAG = "Awareness"; 
    private GoogleApiClient mGoogleApiClient; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     mGoogleApiClient = new GoogleApiClient.Builder(MainActivity.this) 
       .addApi(Awareness.API) 
       .build(); 
     mGoogleApiClient.connect(); 
    } 

    private void initSnapshots() { 
     Awareness.SnapshotApi.getDetectedActivity(mGoogleApiClient) 
       .setResultCallback(new ResultCallback<DetectedActivityResult>() { 
        @Override 
        public void onResult(@NonNull DetectedActivityResult detectedActivityResult) { 
         if (!detectedActivityResult.getStatus().isSuccess()) { 
          Log.e(TAG, "Could not get the current activity."); 
          return; 
         } 
         ActivityRecognitionResult ar = detectedActivityResult.getActivityRecognitionResult(); 
         DetectedActivity probableActivity = ar.getMostProbableActivity(); 
         Log.i(TAG, probableActivity.toString()); 
        } 
       }); 
    } 
} 

ich auch diesen Link folgen bin: https://inthecheesefactory.com/blog/google-awareness-api-in-action/en

Antwort

0

Haben Sie einen gültigen API-Schlüssel in Ihrem manifest.xml? Und die Awareness-API in Ihrem Projekt aktiviert? - Für weitere Informationen siehe google-doc: https://developers.google.com/awareness/android-api/get-a-key

+0

Ja Ich habe den API-Schlüssel in meine Manifest-Datei hinzugefügt. Dieser Code funktioniert mit Moto x, aber wenn ich versuche, es mit Nexus 6p zu laufen, funktioniert es nicht – user1380637

+0

Ist Ihr Nexus-Telefon auf Lager rom, oder zB Cyanogenmod? Ich habe das gleiche Problem, aber wenn es nicht funktioniert, ist es mit cm rom. – Totoo

Verwandte Themen