درگاه بانک
سلام دوستان
میخوام که درگاه بانک را در وب ویو درون نرم افزار باز کنم ولی نمیشه ، در صورتی که توی Browser گوشی راحت باز میشه کسی میدونه مشکلش چیه؟
نمونه کد کسی داره ببینم؟
با سپاس
این رو تست کنید :
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
if (Build.VERSION.SDK_INT >= 21) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
});
webView.loadUrl("URL");
این هم کدهایی که مصرف کردم
WebView webBank = (WebView) findViewById(R.id.webBank);
WebSettings settings = webBank.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
webBank.setWebViewClient(new MyWebViewClient());
String postData = "";
webBank.postUrl("", EncodingUtils.getBytes(postData, "BASE64"));
Manifest :
<activity
android:name=".ActivityMain"
android:allowTaskReparenting="true"
android:theme="@style/myTheme"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="buy"
android:pathPattern=".*"
android:scheme="myApp" />
</intent-filter>
</activity>
کد برای باز شدن صفحه در وب ویو
public class ActivityPayment extends Activity {
WebView webViewpay;
@SuppressLint({ "NewApi", "JavascriptInterface", "SetJavaScriptEnabled" })
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_payment);
try {
String amount = getIntent().getExtras().getString("amount");
String url = "http://mywebsite.ir/peyment.php";
webViewpay = (WebView) findViewById(R.id.webViewpay);
WebSettings settings = webViewpay.getSettings();
settings.setAppCacheEnabled(true);
settings.setBuiltInZoomControls(true);
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
if (Build.VERSION.SDK_INT >= 21) {
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
webViewpay.setWebViewClient(new MyWebViewClient());
webViewpay.setWebChromeClient(new WebChromeClient());
webViewpay.addJavascriptInterface(new PaymentResult(), "Android");
webViewpay.loadUrl(url);
/*
* ArrayList<ItemData> itemDatas = new
* ArrayList<ActivityPayment.ItemData>(); for (int i = 0; i < 10;
* i++) { ItemData itemData = new ItemData(); itemData.setItem("" +
* i); itemDatas.add(itemData); }
*/
} catch (Exception e) {
e.printStackTrace();
}
}
/*
* public class ItemData { private String item;
*
* public String getItem() { return item; }
*
* public void setItem(String item) { this.item = item; } }
*/
public class PaymentResult {
public void getresult(String code) {
Toast.makeText(G.context, "" + code, Toast.LENGTH_SHORT)
.show();
finishactivity();
}
public void finishactivity() {
ActivityPayment.this.finish();
}
}
private class MyWebViewClient extends WebViewClient {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler,
SslError error) {
handler.proceed();
}
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .