Когда я использую Android WebView
, существуют способы связи между веб-приложением и нативным с помощью вызова JS interface
и вызова JS Injection
.Интересно, есть ли какой-нибудь способ взаимодействия между нативным приложением Android и Chrome Custom Tab (CCT)
каким-либо образом?
Я знаю, что по соображениям безопасности Google не добавила функцию моста в CCT
и TWA
.Но в Google I / O они объявили, что существуют ограниченные способы Web/Native bridging
(см. Рисунок ниже).Интересно, как и где я могу найти рекомендации относительно этих ограниченных мостов?
Обновление 1
<activity android:name=".activities.MyResultActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="abc"
android:host="abc.oauth.com" />
</intent-filter>
</activity>
Когда я звоню abc://abc.oauth.com
в браузере это не открывает мою деятельность.Его открытие в поиске Google.
Обновление 2
Наконец-то я успешно получил ключ / значение параметра запроса с приведенным ниже кодом,
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d(classTag, "MyResultActivity activity is called")
intent?.data?.let {
for (key in it.queryParameterNames) {
val value = it.getQueryParameter(key)
Log.d(classTag, "MyResultActivity param key: $key, value: $value")
}
}
}
Большое спасибо @Rahul за руководство.