webview中的导航抽屉活动

时间:2018-01-28 06:36:35

标签: android webview android-navigation-drawer

我有一个网络应用程序,用户可以注册和发布故事,我试图使用webview将其转换为Android应用程序。我想要的是用户注册后的导航抽屉活动。这意味着当用户打开应用程序时,webview会启动但没有导航抽屉,导航抽屉只会在用户注册或登录后显示。

我想知道它是否可能。

1 个答案:

答案 0 :(得分:0)

创建一个活动(可以是任何名称),例如: WebViewScreen.java ,您需要放置webView并将其放在启动器上。因此,当您的应用程序首先启动时,将显示此Webview屏幕,如果用户已登录,则直接发送到您的Navigation Drawer活动,如果没有,则登录Activity。

你的Menifest.xml将是这样的:

<activity
        android:name=".activities.WebViewScreen"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar"
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

点击WebView按钮转到下一个活动:

参考文献:https://www.hrupin.com/2012/08/how-to-open-activity-by-android-webview-hyperlink-click-or-how-to-handle-hyperlink-click-in-android-webview

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class SendIntentByHyperlinkClickActivity extends Activity {
    private WebView webView1;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        webView1 = (WebView) findViewById(R.id.webView1);
        String summary = "<html><head><title>Title of the document</title></head><body><h1><a href=\"hrupin://second_activity\">LINK to second activity</a></h1><h1><a href=\"http://www.google.com/\">Link to GOOGLE.COM</a></h1></body></html>";
        webView1.loadData(summary, "text/html", null);
        webView1.setWebViewClient(new MyWebViewClient(this));
    }
}

创建MyWebViewClient类:

    import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MyWebViewClient extends WebViewClient {

    private Context context;

    public MyWebViewClient(Context context) {
        this.context = context;
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if(url.equals("hrupin://second_activity")){
            Intent i = new Intent(context, SecondActivity.class);
            context.startActivity(i);
            return true;
        }
        return super.shouldOverrideUrlLoading(view, url);
    }
}