我沒有一個真正的Android設備,所以我現在正在使用模擬器來進行我的所有開發,而mailto:web鏈接真的不支持Android設備2.1及更低版本? 2.2的作品,但每次我點擊1.6或2.1上的mailto:
鏈接,我都會得到[不支持的動作]對話框。任何有真實設備的人都想測試一下嗎?mailto:Android中不支持的鏈接?
回答
你必須自己處理的WebViewClient
public class MyWebViewClient extends WebViewClient {
Activity mContext;
public MyWebViewClient(Activity context){
this.mContext = context;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.startsWith("mailto:")){
MailTo mt = MailTo.parse(url);
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL, new String[]{mt.getTo()});
i.putExtra(Intent.EXTRA_SUBJECT, mt.getSubject());
i.putExtra(Intent.EXTRA_CC, mt.getCc());
i.putExtra(Intent.EXTRA_TEXT, mt.getBody());
mContext.startActivity(i);
view.reload();
return true;
}
view.loadUrl(url);
return true;
}
}
在你的活動你保持一個參考MyWebViewClient
並將其與setWebViewClient(mWebClient)
分配給您的webview
。
關於此解決方案的一個小警告:該方法始終返回true,它告訴WebView「我們的WebViewClient的實現處理所有事情」 - 這可能會導致重定向的邊緣情況出現問題,例如在JavaScript中使用'location.replace()' 。而不是'view.loadUrl(url);返回true;'你可以輸入'return false;'來實現相同的效果而不會引入錯誤。看到我在[這個答案的另一個問題]更長的解釋(http://stackoverflow.com/a/14335335/241456) – daniel 2013-01-15 10:12:48
一個更簡單的方法是:
if(url.startsWith("mailto:")){
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
view.getContext().startActivity(intent);
}
'如果(MailTo.isMailTo(url)){// ...' – SK9 2013-09-04 15:05:51
- 1. 不支持Youtube鏈接
- 2. jQuery GalleryView支持鏈接/ href
- 3. 支持Python界面的鏈接速度
- 4. Speedbump支持mailto鏈接的外部鏈接
- 5. 支持html5-video-tag,但是mime-type不支持 - 給出替代鏈接
- 6. jQuery Fancybox不支持鏈接在post方法中
- 7. mailto:在android中不支持空白鏈接
- 8. GWT鏈接器是否支持參數?
- 9. Mootools支持選擇器鏈接?
- 10. 的MacRuby 0.10 HotCocoa不支持的文件格式被鏈接(I386)
- 11. 我的var不支持區塊鏈API
- 12. 圖形API不支持的操作鏈接?
- 13. 在鏈接表上不支持的操作
- 14. 何時與appcompat和約束佈局支持庫鏈接,何時不鏈接
- 15. ITransactionLocal接口,不支持
- 16. 在支持Modernizr的鏈接中檢測數據URI
- 17. IIS Express中的符號鏈接支持(Visual Studio 2010)
- 18. OS X LION:支持關於文本頁面中的URL鏈接
- 19. GWT超鏈接getHTML不支持點擊事件
- 20. 安卓機器人:自動鏈接= 「網」 不支持.ME域名
- 21. Flash Builder 4.6鏈接資源不支持ANE和Certs
- 22. Temphire(Angular)不支持深層鏈接並刷新?
- 23. CKEditor不會鏈接文件(由rails,mongoid,paperclip,s3支持)
- 24. HtmlService表不支持換行符和電子表格中的超鏈接
- 25. dotnet不支持多繼承。但多接口支持?
- 26. 在Bootstrap 3.2中不再支持Grid類的Mixin不再支持?
- 27. 沒有systemverilog支持鏈表?
- 28. 在Swift中鏈接C庫及其支持庫(linux)
- 29. Android v7版本19.1.0支持庫直接鏈接
- 30. 讓分支鏈接
mailto鏈接在哪裏?在WebView中? – 2010-09-08 19:46:07
在使用10.0.2.2的移動瀏覽器中進入本地主機。 – Chamilyan 2010-09-09 01:40:13