我正在开发一个类似Uber的应用程序,如果车辆停止移动(或移动),我们需要计算等待时间。
我试着用GPS定位速度,但似乎没什么用。然后,我们尝试了,它也没有立即更新。
我们还有别的办法可以做到这一点吗?请注意,这与检测速度无关。它是关于检测车辆是否在移动。
谢谢你,阿尼夫
发布于 2016-08-31 14:06:10
据我所知,你有三种选择:
PUT_YOUR_AWARENESS_KEY_HERE :您需要生成一个密钥这里。
c.您的MainActivity类-附于代码的说明:
公共类MainActivity扩展活动{私有GoogleApiClient mGoogleApiClient;私有PendingIntent mPendingIntent;私有FenceReceiver mFenceReceiver;//触发围栏时将触发的意图操作。私有最终字符串FENCE_RECEIVER_ACTION = BuildConfig.APPLICATION_ID + "FENCE_RECEIVER_ACTION";@重载受保护的虚空onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mGoogleApiClient =新的BuildConfig.APPLICATION_ID mGoogleApiClient.connect();//设置触发围栏时将触发的PendingIntent。mPendingIntent =PendingIntent.getBroadcast(这个,0,新意图(FENCE_RECEIVER_ACTION),0);//当触发栅栏时接收意图的广播接收器。mFenceReceiver =新的FenceReceiver();registerReceiver(mFenceReceiver,新的IntentFilter(FENCE_RECEIVER_ACTION));createFence(DetectedActivityFence.IN_VEHICLE,"InVehicleFence");} @Override (){ try { unregisterReceiver(mFenceReceiver);//不要忘记注销接收方} catch (除e外){ e.printStackTrace();} super.onDestroy();}私有createFence(int detectedActivityFence,最终字符串fenceKey) { AwarenessFence fence =AwarenessFence //注册栅栏以接收回调。FenceUpdateRequest.Builder().addFence(fenceKey,Awareness.FenceApi.updateFences( mGoogleApiClient,new mGoogleApiClient fence,mPendingIntent) .build().setResultCallback(新ResultCallback() {@覆盖公共void (@NonNull状态)){ if (status.isSuccess()) { Log.i(getClass().getSimpleName(),“成功注册”);{ Log.e(getClass().getSimpleName(),“无法注册:”+status;});} //处理意图上的回调。公共类FenceReceiver扩展BroadcastReceiver { @Override void onReceive(上下文上下文,意图意图){ FenceState fenceState =FenceState.extract(意图);开关(fenceState.getCurrentState()) { case FenceState.TRUE: Log.i(fenceState.getFenceKey(),“驱动”);中断;案例FenceState.FALSE: Log.i(fenceState.getFenceKey(),“非驾驶”);中断;}
https://stackoverflow.com/questions/38915050
复制相似问题