我有一个网络应用程序,用户可以注册和发布故事,我试图使用webview将其转换为Android应用程序。我想要的是用户注册后的导航抽屉活动。这意味着当用户打开应用程序时,webview会启动但没有导航抽屉,导航抽屉只会在用户注册或登录后显示。
我想知道它是否可能。
答案 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按钮转到下一个活动:
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);
}
}