chrome 自定义选项卡中是否有类似于 Webview 的 onPageStarted 的功能。在 onNavigation.. 捆绑包始终为空
问问题
3918 次
2 回答
2
按照设计,Chrome 自定义标签无法做到这一点。您可以判断用户已经导航,但您无法判断他们去了哪里。有关可能的详细信息,请参阅: http: //developer.android.com/reference/android/support/customtabs/CustomTabsCallback.html 。
于 2016-02-07T21:44:54.210 回答
0
如果您可以让用户通过单击工具栏操作按钮或菜单选项来触发 PendingIntent,您可以查看当前在 Chrome 自定义选项卡中打开的 URL。
在您的片段/活动中,创建一个嵌套的 BroadcastReceiver 类,该类将处理其 onReceive() 方法中的传入意图:
class DigBroadcastReceiver() : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val uri: Uri? = intent.data
if (uri != null) {
Log.d("Broadcast URL",uri.toString())
main.genericToast(uri.toString())
}
}
}
将接收器添加到清单文件中:
<receiver
android:name=".ui.dig.DigTabs$DigBroadcastReceiver"
android:enabled="true" />
创建 PendingIntent 并将其添加到您的 CustomTabsIntent.Builder:
val sendLinkIntent = Intent(main,DigBroadcastReceiver()::class.java)
sendLinkIntent.putExtra(Intent.EXTRA_SUBJECT,"This is the link you were exploring")
val pendingIntent = PendingIntent.getBroadcast(main,0,sendLinkIntent,PendingIntent.FLAG_UPDATE_CURRENT)
// Set the action button
AppCompatResources.getDrawable(main, R.drawable.close_icon)?.let {
DrawableCompat.setTint(it, Color.WHITE)
builder.setActionButton(it.toBitmap(),"Add this link to your dig",pendingIntent,false)
}
val customTabsIntent: CustomTabsIntent = builder.build()
customTabsIntent.launchUrl(main, Uri.parse(url))
请参阅我在 Medium 上解释这一点的文章。
于 2020-06-05T05:44:54.207 回答