Şu anda webView
ile bir android uygulaması geliştiriyorum.Bir webView URL'sinde niyet: // nasıl ele alınır?
if(url.startsWith("something")){
//do something
return true;
}
Sorunum:
Bazı URLS
örneğin google aramasında, URL
şema vardır:
urls
ben oldukça yalındır
shouldOverrideUrlLoading
yöntemi kullanmak gerekir
intent://en.m.wikipedia.org/wiki/Test_cricket#Intent;scheme=http;package=org.wikipedia;S.browser_fallback_url=https%3A%2F%2Fwww.google.pt%2Fsearchurl%2Fr.html%23app%3Dorg.wikipedia%26pingbase%3Dhttps%3A%2F%2Fwww.google.pt%2F%26url%3Dhttps%3A%2F%2Fen.m.wikipedia.org%2Fwiki%2FTest_cricket;S.android.intent.extra.REFERRER_NAME=https%3A%2F%2Fwww.google.pt;launchFlags=0x8080000;end
kullanıyorum denedim:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(browserIntent);
Ama bir hata var: Ben URL
düzeni Bu tarz gerektiğini nasıl
10-15 15:18:15.546: W/System.err(29086): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=intent://en.m.wikipedia.org/wiki/Test_cricket }
?
GÜNCELLEME:
Intent myIntent = new Intent().parseUri(url, Intent.URI_INTENT_SCHEME);
startActivity(myIntent);
: @CommonsWare açıklamalarının ardından
, ben böyle bir şey URL
bir Intent object
oluşturmak ve sonra startActivity()
denemek için Intent
üzerinde parseUri()
kullanarak denedim Ama yine de:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://en.m.wikipedia.org/wiki/Test_cricket flg=0x8080000 pkg=org.wikipedia (has extras) }
Yönergeler yanlış yazılmış olabilir veya @CommonsWare belirtilen intent
yapamıyorum. Intent
'un nasıl oluşturulacağına dair ipuçları var mı?
Ya 'ActivityNotFoundException' yakalamak veya kullanmak' PackageManager' ve 'resolveActivity()' çağırmadan önce bu durumu tespit etmek için 'startActivity()'. Bu durumda, "Uri" bir uygulama (Wikipedia), ve eğer bu uygulama yüklenmemişse, "Intent" çözülmez. Bu gerçeği belirten kullanıcıya bir çeşit hata mesajı sunmanız gerekecektir. – CommonsWare
@CommonsWare Bazı tarayıcılar (Firefox, Chrome, Opera) üzerinde uygulamayı açmak için "intent: // ..." ile bir bağlantıya hafifçe dokunursanız, uri'yi varsayılan tarayıcıya yönlendirmenin bir yolu vardır o ? –
Varsayılan tarayıcı onu idare etmiyor - Wikipedia uygulaması gerekiyor. Yine de, şimdi düşünüyorum, ACTION_VIEW muhtemelen doğru cevap değil. URL'den bir 'Intent' nesnesi oluşturmak için 'Intent'te parseUri() 'yi kullanın, daha sonra' Intent'te 'startActivity()' seçeneğini kullanın. – CommonsWare