Tôi có chế độ xem web trong ứng dụng Android của mình.
Tôi đã tải url: https://imsnsit.org/imsnsit/notifications.php
Có các liên kết đến các thông báo khác nhau. WebView của tôi không làm gì khi tôi nhấp vào chúng. Nó đang hoạt động trên mọi thứ khác - Chrome (Android), Chrome (Máy tính để bàn). Các liên kết là tốt. Một điều tôi nhận thấy thông báo có href với tập tin PHP. Chỉ cần điều hướng đến liên kết đó không hoạt động. Tôi nhận được hoạt động không hợp lệ. Cộng với các liên kết không tĩnh, chúng thay đổi mỗi khi bạn làm mới trang (chỉ là tham số cho plum_url.php).
Tôi đã sử dụng các chức năng này. Không có gì giúp.
webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setDomStorageEnabled(true);
Lần nhấp không hoạt động trong WebView
Trả lời
bạn có thể mở cửa sổ mới trong webview như thế này
WebView webviewContact=(WebView)findViewById(R.id.webviewcontact);
webviewContact.loadUrl("https://imsnsit.org/imsnsit/notifications.php");
webviewContact.clearCache(true);
webviewContact.clearHistory();
//webviewContact.getSettings().setDomStorageEnabled(true);
//webviewContact.getSettings().setSupportMultipleWindows(true);
webviewContact.getSettings().setJavaScriptEnabled(true); webviewContact.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webviewContact.setWebViewClient(new WebViewClient(){
/*For open new window in webview*/
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) { Toast.makeText(getApplicationContext(),url,Toast.LENGTH_SHORT).show();
view.loadUrl(url);
return false;
}
});
tôi sẽ đề nghị bạn bắt đầu sử dụng các tab tùy chỉnh nhanh hơn và tốt hơn. Việc thực hiện chi tiết có tại https://developer.chrome.com/multidevice/android/customtabs
// Use a CustomTabsIntent.Builder to configure CustomTabsIntent.
// Once ready, call CustomTabsIntent.Builder.build() to create a CustomTabsIntent
// and launch the desired Url with CustomTabsIntent.launchUrl()
String url = ¨https://paul.kinlan.me/¨;
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));
tab Tuỳ chỉnh sẽ là một giải pháp tuyệt vời nếu bạn đang có kế hoạch không chuyển hướng đến các ứng dụng từ xem web của bạn. Các vấn đề với webview là rất cụ thể để thực hiện của bạn vì vậy không thể đề nghị một soln ở đây. Vui lòng dán cách triển khai cách bạn mở một chế độ xem web và nội dung php hoặc các liên kết mà bạn đang cố mở.
Thực ra tôi có một danh sách các thông báo trong ứng dụng của tôi. Tôi muốn mở thông báo khi người dùng nhấp vào nó. Vấn đề là tôi muốn sử dụng để mở thông báo đầu tiên (giả sử) bằng Javascript để các tab tùy chỉnh không phải là tùy chọn –
Tôi đã kiểm tra liên kết của bạn và tất cả các liên kết đang mở tệp pdf không được hỗ trợ trong chế độ xem web trên Android. bạn có thể mở các liên kết như vậy trong tài liệu google hoặc có thể một số ứng dụng trong thiết bị của bạn. Triển khai shouldOverrideUrlLoad thứ gì đó như thế này.
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (urlIsPDF(url)){
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "application/pdf");
try{
view.getContext().startActivity(intent);
} catch (ActivityNotFoundException e) {
//user does not have a pdf viewer installed
}
} else {
webview.loadUrl(url);
}
return true;
}
https://www.mkyong.com/android/android-webview-example/
Tạo hai file layout Android - “res/layout/main.xml” và “res/layout/webview .xml “.
File: res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/buttonUrl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go to http://www.google.com" />
</LinearLayout>
File: res/layout/main.xml - ví dụ WebView
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Hai lớp học hoạt động, một hoạt động để hiển thị một nút, một hoạt động khác hiển thị WebView với URL được xác định trước.
File: MainActivity.java
package com.mkyong.android;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button button;
public void onCreate(Bundle savedInstanceState) {
final Context context = this;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.buttonUrl);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
}
});
}
}
File: WebViewActivity.java
package com.mkyong.android;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class WebViewActivity extends Activity {
private WebView webView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.google.com");
}
}
WebView cần sự cho phép INTERNET, thêm dưới đây vào AndroidManifest.xml.
<uses-permission android:name="android.permission.INTERNET" />
Tệp: AndroidManifest.xml - Xem ví dụ đầy đủ.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mkyong.android"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".WebViewActivity"
android:theme="@android:style/Theme.NoTitleBar" />
<activity
android:label="@string/app_name"
android:name=".MainActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
nó sẽ giúp bạn.
Bạn đang cố gắng mở target = “_ blank” liên kết trong Android WebView vì vậy hãy thử bên dưới mã.
Đầu tiên thêm này:
webView.setWebChromeClient(webChromeClient);
webView.getSettings().setSupportMultipleWindows(true);
WebChromeClient webChromeClient = new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean isDialog,
boolean isUserGesture, Message resultMsg) {
WebView.HitTestResult result = view.getHitTestResult();
String data = result.getExtra();
Context context = view.getContext();
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(data));
context.startActivity(browserIntent);
return false;
}
};
Sử dụng bạn này có thể mở liên kết trong trình duyệt mặc định.
- 1. RecyclerView nhấp chuột duy nhất không hoạt động nhưng hoạt động khi nhấp hai lần
- 2. Tự động nhấp vào WebView
- 3. Javascript không hoạt động trong Hoạt động webView
- 4. window.close() không hoạt động trong android webview?
- 5. HTML5 navigator.online không hoạt động trong WebView
- 6. JavaScript không hoạt động trong Android WebView
- 7. React Native WebView postMessage không hoạt động
- 8. Android SDK WebView gọi Hoạt động
- 9. WebView trong suốt không hoạt động trên Android v4.0
- 10. -webkit-transform không hoạt động trong Android webview
- 11. Bộ nhớ cache WebView không hoạt động trong Android 4.4
- 12. React setState không hoạt động trong lần thử đầu tiên, nhưng hoạt động trên giây?
- 13. jQuery: Nhấp một lần vào nút, nhấp vào sự kiện kích hoạt hai lần trở lên
- 14. Lần nhấp vào Danh sách không hoạt động với các hộp kiểm Android
- 15. Webview không tải lần đầu tiên
- 16. WebView có cần một WebViewClient để hoạt động không?
- 17. md-select chỉ hoạt động trong lần nhấp đầu tiên trên OS X
- 18. Strange webview black nhấp nháy khi cuộn
- 19. WebView không tải HTML của tôi lần thứ hai?
- 20. nhấp vào lệnh trong selenium webdriver không hoạt động
- 21. Cách sử dụng lại hoạt động? Không được tạo hoạt động mỗi lần
- 22. Video trong WebView - ApplicationContext và bối cảnh hoạt động
- 23. Cách tạo hoạt ảnh GIF hoạt động từ Android WebView
- 24. Hoạt động nhiều lần trong Grafana
- 25. khởi chạy mediaplayer khi nhấp vào liên kết trong WebView
- 26. Trình duyệt Chrome Hành động nhấp chuột không hoạt động
- 27. Phóng to thu nhỏ bằng hai lần chạm trên WebView không hoạt động trên Motorola Droid A855
- 28. Ngăn chặn mở Hoạt động nhiều lần
- 29. Nút toàn màn hình của video bên trong WebView không hoạt động
- 30. Aptana 3 app explorer nhấp chuột phải không hoạt động
đã thử điều này, không hoạt động –
vấn đề gì bạn đang nhận được? – MageNative
khi tôi bấm vào liên kết nó không có gì đó là vấn đề –