从 YouTube 的共享菜单加载后,在我的 WebView 中打开 URL

Open URL in my WebView after loading it from YouTube's share menu

我有一个 Android WebView 项目,我已将其添加到共享菜单中以从 YouTube 获取 URL。

并且我在清单中使用此代码

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="text/plain" />
</intent-filter>

在 YouTube 的共享菜单中点击我的应用程序图标后,我需要代码在 WebView 中打开 URL。

例如:

val intent = intent
    intent.action = Intent.ACTION_SEND
    val uri = intent.data

    if (uri == null){
        webframe.loadUrl("file:///android_asset/index.html")
    }else{
        webframe.loadUrl(uri.toString())
    }

您可以通过以下代码片段在 activity 中获取参数:

Intent intent = getIntent();
Uri uri = intent.getData();
//uri is what you need.

试试这个:

<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />              
<data android:host="www.youtube.com" android:mimeType="text/*" />
</intent-filter>

感谢大家我找到了解决问题的方法

首先你必须将此代码添加到清单中:

<intent-filter>
   <action android:name="android.intent.action.SEND"/>
   <category android:name="android.intent.category.DEFAULT"/>
   <data android:mimeType="
</intent-filter>

接下来将此代码添加到 MainActivity:

when (intent?.action) {
        Intent.ACTION_SEND -> {
            if ("text/plain" == intent.type) {
                webframe.loadUrl(intent.getStringExtra(Intent.EXTRA_TEXT))
            }
        }
        else -> {
            webframe.loadUrl("file:///android_asset/index.html")
        }
    }