1

Webview とメソッド ShouldOverrideUrlLoading の問題を解決する必要があります。

ユーザーがあなたの携帯電話に twitter アプリをインストールしていないことを示すメッセージを表示したい

    @オーバーライド
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url.startsWith("tel:")) {
                インテント インテント = 新しいインテント(Intent.ACTION_DIAL,
                        Uri.parse(url));
                startActivity(意図);
        }else if(url.startsWith("http:") || url.startsWith("https:")) {
            view.loadUrl(URL);
        }else if (url != null && url.startsWith("market://")) {
                view.getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                true を返します。
        } そうでなければ (url != null && url.startsWith("twitter://")) {
                view.getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                true を返します。
        }そうしないと{
    Toast.makeText(getApplicationContext(), "Twitterアプリが必要", Toast.LENGTH_SHORT).show();
            false を返します

}

「アプリケーションが予期せず停止しました。再試行してください」というエラー

誰でも助けることができますか?

4

1 に答える 1

1

あなたの twitter に問題があるようIntentです。私が理解している限り、あなたはTwitterアプリに何かを投稿してもらいたいと思っています。Intent を使用して Twitter アプリを起動する方法については、API を参照してください。クラッシュを防ぐには、次のようにします。

 else if (url != null && url.startsWith("twitter://")) {
            try{
            view.getContext().startActivity(
                new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
             } catch(ActivityNotFoundException e){
               // do some stuff here, for example load the twitter url in the browser
             }
            return true;
于 2013-08-24T01:41:06.147 に答える