【问题标题】:Awareness Snapshot APi not working for android意识快照 API 不适用于 Android
【发布时间】: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


    【解决方案1】:

    您的 manifest.xml 中是否有有效的 API 密钥?并在您的项目中启用了 Awareness API? - 有关更多信息,请参阅 google-doc:https://developers.google.com/awareness/android-api/get-a-key

    【讨论】:

    • 是的,我已将 API 密钥添加到我的清单文件中。此代码适用于 moto x,但是当我尝试使用 Nexus 6p 运行它时它不起作用
    • 您的 Nexus 手机是否有库存 ROM,或者例如 Cyanogenmod?我有同样的问题,但是当它不工作时,它是用 cm rom。
    猜你喜欢
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多