API перехода распознавания активности тестирования - PullRequest
1 голос
/ 09 марта 2019

В настоящее время я разрабатываю приложение, которое использует API перехода с распознаванием активности (новое, а не старое, проверьте ссылку ниже).У меня вопрос, как я могу проверить свое приложение?Точнее, как я могу «вручную» запускать события перехода?Действительно ли мне нужно положить свой телефон и ноутбук в рюкзак и прокатиться на велосипеде, чтобы вызвать событие ON_BYCICLE / ACTIVITY_TRANSITION_ENTER?Там должен быть более простой способ :) Может быть, с помощью ADB?https://developer.android.com/studio/test/command-line

Документация по API: https://developer.android.com/guide/topics/location/transitions

1 Ответ

0 голосов
/ 23 июля 2019

Вы можете использовать следующий код для эмуляции события

        var intent = Intent()
        //your broadcast receiver action
        intent.action = BuildConfig.APPLICATION_ID + "TRANSITIONS_RECEIVER_ACTION"
        var events: ArrayList<ActivityTransitionEvent> = arrayListOf()
        //You can set desired events with their corresponsing state
        var transitionEvent = ActivityTransitionEvent(DetectedActivity.IN_VEHICLE, ActivityTransition.ACTIVITY_TRANSITION_ENTER, SystemClock.elapsedRealtimeNanos())
        events.add(transitionEvent)
        var result = ActivityTransitionResult(events)
        SafeParcelableSerializer.serializeToIntentExtra(result, intent, "com.google.android.location.internal.EXTRA_ACTIVITY_TRANSITION_RESULT")
        activity?.sendBroadcast(intent)

Я создал простое действие с двумя кнопками в своем приложении, где я транслирую эти события (Start и Stop) соответственно. Это помогает мне отладить приложение изящно.

...