【发布时间】:2016-10-19 04:22:33
【问题描述】:
我希望能够在我的 Android 应用中获取当前位置和活动。我实现了它,但它似乎永远不会返回任何东西。当我调试它从不调用 OnResult 方法。它什么也不返回。例如,在下面的代码中,它应该返回当前用户活动 I/Awareness:DetectedActivity [type=STILL, confidence=100] 但没有显示任何内容。
我正在 Android v6.0 上对此进行测试,是的,我的清单中有很好的位置并在我的手机上打开了。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
这是我获取活动的代码:
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());
}
});
}
}
我也在关注这个链接: https://inthecheesefactory.com/blog/google-awareness-api-in-action/en
【问题讨论】:
标签: android google-api google-awareness