如何在Webview中将Wordpress的帖子和页面url解析为确切位置而不是HOMEPAGE

时间:2019-05-29 18:59:31

标签: android webview

我正在使用 WebView Android 上加载我的自适应网站

我已经使用Android Studio的 应用链接助手 启用了 深层链接 。问题是所有URL(主页,帖子,页面)都只能在 主页面 中启动应用程序,而不是它们的相应链接

我的帖子网址结构为https://www.example.com/2019/05/samplepost.html
我的页面网址结构为https://www.example.com/page

我尝试了许多在这里找到的方法,包括Shanil Soni Enable deep linking for android for various structured urls提出的方法。但是直到我诉诸 App Link Assistant

下面是我的代码

这是我的manifest.xml生成的意图过滤器

<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="https"
      android:host="www.example.com"
      android:pathPattern="/*" />
</intent-filter>

该工具在MainActivity.java中添加了3行。紧接着“ //注意:这是自动生成的,用于处理应用程序链接。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    CheckFullScreen();
    setContentView(R.layout.activity_main);
    SetupNotifications();
    CheckFirstTimeWelcome();
    InitializeViews();
    SetupAds();
    SetupToolbar();
    SetupWebView();
    SetupSwipeToRefresh();
    SetupDrawerNavigation();
    // ATTENTION: This was auto-generated to handle app links.
    Intent appLinkIntent = getIntent();
    String appLinkAction = appLinkIntent.getAction();
    Uri appLinkData = appLinkIntent.getData();
}

我在这里遵循的https://developer.android.com/studio/write/app-link-indexing开发人员android指南确实显示代码不完整,但是我无法使用如下所示的其他代码,因为它们已链接到本地​​应用程序内容,并且我试图进入url启动了应用程序。

下面是另一个代码示例;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    handleIntent(getIntent());
}

protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    handleIntent(intent);
}

private void handleIntent(Intent intent) {
    String appLinkAction = intent.getAction();
    Uri appLinkData = intent.getData();
    if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){
        String recipeId = appLinkData.getLastPathSegment();
        Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon()
            .appendPath(recipeId).build();
        showRecipe(appData);
    }
}

使用在Enable deep linking for android for various structured urls上找到的更正,我试图在MainActivity.java上编辑自动生成的代码 从这个

// ATTENTION: This was auto-generated to handle app links.
    Intent appLinkIntent = getIntent();
    String appLinkAction = appLinkIntent.getAction();
    Uri appLinkData = appLinkIntent.getData();

对此

Intent intent = getIntent();
    String action = intent.getAction();
    Uri data = intent.getData();
    String link = intent.getDataString();

没有运气,所以我恢复了最初生成的代码

0 个答案:

没有答案