导航完成后如何返回应用

时间:2018-07-12 07:10:21

标签: android google-maps

我有一个活动,用于开始在Google Maps应用中导航。 当目的地快到时,我想收到一条通知,通知该请求将打开我的应用程序。 我应该使用待定的意图。没关系。我真的不理解如何在到达目的地时如何管理通知?

我应该使用某种服务来跟踪当前位置并发送待处理的意图吗?导航可能会持续几个小时,Android Oreo会终止服务

3 个答案:

答案 0 :(得分:0)

我认为您应该在启动导航时启动服务,并在2-3秒后到达目的地进行检查。如果是,则使用此代码从服务器端或您端发出自我通知。

NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this);

        //Create the intent that’ll fire when the user taps the notification//

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.androidauthority.com/"));
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

        mBuilder.setContentIntent(pendingIntent);

        mBuilder.setSmallIcon(R.drawable.notification_icon);
        mBuilder.setContentTitle("My notification");
        mBuilder.setContentText("Hello World!");

        NotificationManager mNotificationManager =

            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        mNotificationManager.notify(001, mBuilder.build());

使用此功能可以发送通知。 这可以帮助我使用它。

答案 1 :(得分:0)

您可以启动服务并使用PRIORITY_NO_POWER来被动跟踪位置(该位置将由Google地图更新),并且当位置足够接近可定位时-显示您的通知。

答案 2 :(得分:0)

最好的方法是GeoFences API。 当您的应用程序中的另一个应用程序(例如Google Maps检索新位置)时,地理客户端将等待位置到达目的地时收到通知。在这种情况下,您的应用可以触发通知,无论是在后台还是完全关闭