android 中的 webview 不显示内容
webview in android not displaying content
对于博客 reader 应用程序,当我尝试将 activity 中的树屋博客站点作为 Web 视图查看时,该应用程序可以正常工作。但是当我尝试 itunes url 或其他网站时,它不显示我的 activity 中的内容,而是打开 chrome。现在我不知道这是正常的还是我必须为此添加一些代码,谢谢。下面是 activity 我正在实现 webview 的代码,谢谢
package com.paveynganpi.applestorefeed;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
public class AppleFeedWebViewActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_apple_feed_web_view);
//get the intent from MainListActivity.java
Intent intent = getIntent();
Uri appleFeedUri = intent.getData();
WebView webView = (WebView)findViewById(R.id.webView);
webView.loadUrl(appleFeedUri.toString());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_apple_feed_web_view, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
检查您是否在 Android Manifest.xml 文件
中具有所需的权限
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>
如果提供了许可,那么唯一的原因可能是 URL
添加Log语句查看URL
的值
Log.w("URL",appleFeedUri.toString());
当 WebView 具有 null WebViewClient 时,它默认为此行为(在浏览器中打开 link)。要将导航保留在 WebView 中,请执行以下操作:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
对于博客 reader 应用程序,当我尝试将 activity 中的树屋博客站点作为 Web 视图查看时,该应用程序可以正常工作。但是当我尝试 itunes url 或其他网站时,它不显示我的 activity 中的内容,而是打开 chrome。现在我不知道这是正常的还是我必须为此添加一些代码,谢谢。下面是 activity 我正在实现 webview 的代码,谢谢
package com.paveynganpi.applestorefeed;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
public class AppleFeedWebViewActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_apple_feed_web_view);
//get the intent from MainListActivity.java
Intent intent = getIntent();
Uri appleFeedUri = intent.getData();
WebView webView = (WebView)findViewById(R.id.webView);
webView.loadUrl(appleFeedUri.toString());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_apple_feed_web_view, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
检查您是否在 Android Manifest.xml 文件
中具有所需的权限<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>
如果提供了许可,那么唯一的原因可能是 URL
添加Log语句查看URL
的值Log.w("URL",appleFeedUri.toString());
当 WebView 具有 null WebViewClient 时,它默认为此行为(在浏览器中打开 link)。要将导航保留在 WebView 中,请执行以下操作:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});