Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Sertifikalar & Başarılar
Kullanıcıya ait test sonucu bulunmamaktadır.
Dil Becerileri
Son Forum Aktiviteleri
3Webview Link problemi (tel: href:) Lütfen yardım
Merhaba proje dosyamı ekte gönderdim lakin işin içinden bir türlü çıkamıyorum. benim sorunum şu;
Webview ile local ya da internet sitesi üzerinden (html5 uyumlu) içeriğimi sorunsuz çalıştırıyorum. APK istediğim gibi oluyor lakin linkleri tikladiğim zaman UYGULAMA DURDU hatası alıyorum hiç bir şekilde linkler çalışmıyor
ilgili projeyi ham haliyle koydum. Projenin asli: https://github.com/slymax/webview adresinde bulunuyor.
ör:<a href="tel:05322222222">arama</a>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app" >
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<activity
android:name="com.example.app.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Mainactivity.java
package com.example.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Force links and redirects to open in the WebView instead of in a browser
mWebView.setWebViewClient(new WebViewClient());
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
// Use remote resource
mWebView.loadUrl("http://example.com");
// Stop local links and redirects from opening in browser instead of WebView
mWebView.setWebViewClient(new MyAppWebViewClient());
// Use local resource
// mWebView.loadUrl("file:///android_asset/www/index.html");
}
// Prevent the back-button from closing the app
@Override
public void onBackPressed() {
if(mWebView.canGoBack()) {
mWebView.goBack();
} else {
super.onBackPressed();
}
}
@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_main, 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);
}
}
MyAppWebViewClient.java
package com.example.app;
import android.content.Intent;
import android.net.Uri;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().endsWith("example.com")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:id="@+id/activity_main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
ne yaptım ne ettiysem web sitesinde olusturdugum linkleri tiklayamıyorum. telefonla arama link'i tikladiginda uygulama hata verip kapaniyor. kısaca hyper linklerde bu problemi yasiyorum.
nerede ne hata var?
denemedigim hiç bir şey kalmadi.
ek olarak ataştirmalarin neticesinde asagidaki koduda eklemem lazimmiş fakat buda calismadi. acaba asagidaki kodu yanlis mi ekliyorum? dogrusu nereye ve nasildir?
tecrübeli arkadaslardan yardımını rica ediyorum teşekkürler.
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
startActivity(intent);
view.reload();
return true;
}
view.loadUrl(url);
return true;
}
Android webview link sorunu (Tel:)
Herkese merhabalar,
burada mükemmel bir webvview için çalışma hazırlanmış ilgili çalışmanında videosu burada
Ben sorunsuz html5 sitemi, webview ile apk yapabiliyorum lakin sitemde normal mobil ile arama butonuna tikladiginda arama yapilirken, webview apk ile UYGULAMA hatası veriyor.
ne yaptımsa olmadı muhakkak yanliş bir şeyler yaptigim aşikar.
Aşağıda bulunan kod parçacığını ekledim. OLMADI
bunu yaparken <uses-permission android:name="android.permission.CALL_PHONE" /> izininide verdim olmadi.
sizden ricam github üzerinden projenin ilgili dosyasını indirip bana yol götermeniz.
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
startActivity(intent);
view.reload();
return true;
}
view.loadUrl(url);
return true;
}
Webview Link problemi (tel: href:) Lütfen yardım
Sorunum hala devam ediyor çözebilmiş değilim