MainActivity.java düzəliş lazımdı
Salam.Aşağıda helə kodun özündə verib ki,Başqa bir URL tıkladıqda Normal tarayıcı kimi açsın amma mənə bu lazım deyil.Ayri url-ada tıkladıqda appda açılsın kim düzədib verə bilər bu kodu mənə.
97-ci sətir
[code]package tr.mht.webviewdersi;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
private WebView WebViewim;
private ImageView splash;
// Uygulama açıldığında çalıştırılacak.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
* WebViewim değişkenine, xml layout'umuzda şekillendirdiğimiz
* WebView'i atayalım.
*/
WebViewim = (WebView)findViewById(R.id.webviewim);
/*
* Splash'ımızı splash adında bir değişkene atayalım.
*/
splash = (ImageView)findViewById(R.id.splash);
/*
* WebView'de tam kontrol için kendi WebViewClient'imizi
* WebView'imize atayalım.
*/
WebViewim.setWebViewClient(new MHTWebViewClient());
// WebView ayarları.
WebSettings websettings = WebViewim.getSettings();
// Uygulamamıza özel user-agent.
websettings.setUserAgentString("WebViewDersiUA");
// Bazı ayarlar
websettings.setLoadWithOverviewMode(true);
websettings.setUseWideViewPort(true);
// Önbelleklemeyi devredışı bırakarak daha hızlı bir uygulamaya kavuşabiliriz.
websettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
// JavaScript'i etkinleştir.
websettings.setJavaScriptEnabled(true);
websettings.setSaveFormData(false);
websettings.setAppCacheEnabled(false);
// Scroll barlar. İhtiyacınıza göre aktif edebilirsiniz.
WebViewim.setVerticalScrollBarEnabled(false);
WebViewim.setHorizontalScrollBarEnabled(false);
// URL'ye git.
WebViewim.loadUrl("http://1fincan.com");
}
/*
* Cihazda geri tuşuna basıldığında neler olacağını kararlaştır.
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Gezinti geçmişinde geriye gidilebiliyorsa geri git.
if ((keyCode == KeyEvent.KEYCODE_BACK) && WebViewim.canGoBack()) {
WebViewim.goBack();
return true;
} else if (keyCode == KeyEvent.KEYCODE_BACK){ // Geri gidilemiyor.
// Uygulamayı kapat.
this.finish();
}
return false;
}
/*
* Uygulamamıza özel WebViewClient'imiz.
*/
private class MHTWebViewClient extends WebViewClient {
/*
* sayfanın tamamen yüklenip yüklenmediğini anlamak için bu iki değişken
* bir püf noktasıdır.
*/
boolean yuklendi = true;
boolean yonleniyor = false;
// Açılan sayfanın başlığı. İşimize yarayabilir.
public String baslik;
/*
* Uygulamamızda tıklanan URL'leri inceler
*
* URL bizim sitemiz dışında bir URL ise başka bir tarayıcıda açtırabiliriz.
*/
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (!yuklendi) {
yonleniyor = true;
}
yuklendi = false;
if (Uri.parse(url).getHost().equals("1fincan.com")) {
// Bu bizim siteden bir URL. Bırakalım devam etsin.
return false;
}
// Sitemiz dışında bir URL. Normal tarayıcıda açtır.
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
// sayfa yüklenmeye başladı.
yuklendi = false;
}
@Override
public void onPageFinished(WebView view, String url)
{
// Yüklenen sayfanın başlığı. İşinize yarayabilir.
baslik = view.getTitle();
if(!yonleniyor){
yuklendi = true;
}
if(yuklendi && !yonleniyor){
// SAYFA "TAMAMEN" YÜKLENDİ
/*
* Sayfa tamamen yüklendiğine göre artık splash'ı gizleyebiliriz.
*
* Not: Bir defa gizlenince tekrar ortaya çıkmayacaktır.
*/
if(splash.getVisibility() == View.VISIBLE) {
splash.setVisibility(View.GONE);
}
} else{
yonleniyor = false;
}
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// Bir sorun oluştuğunda kullanıcıya bildir.
Toast.makeText(getApplicationContext(), "Bir sorun oluştu: " + description, Toast.LENGTH_SHORT).show();
}
}
}[/code]