2017-10-10 12 views
0

Javaで非常に新しいです。私のWebサイトをwebviewに入れようとしています。私は電子メールフォームにユーザーを送り、非常にうまく動作しています。しかし、今私は3つ以上の場所で同じコードを使用する必要があります。私は何かにマッチし、このコードを関数として1つの場所に入れて、それを呼び出す方法があり、それを使用したい時があることを知っています。誰かが私を助けることができますか?android webviewの再利用可能なJava関数を作成するには

function RequestMailForm(newbody, newsubject, newemailto, newmailbbc){ 
    /* That email code*/ 
    } 
    mva.setWebViewClient(new WebViewClient() { 
    if (url.startsWith("mailto:")) { 
     url = url.substring(7); 
     String body = "Body of message."; 
     Intent mail = new Intent(Intent.ACTION_SEND); 
     mail.setType("application/octet-stream"); 
     mail.putExtra(Intent.EXTRA_EMAIL, new String[] { url }); 
     mail.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
     mail.putExtra(Intent.EXTRA_TEXT, body); 
     startActivity(mail); 
     return true; 
    } 
    if (url.startsWith("http://example.com/help") || url.startsWith("https://example.com/contact")){ 
     RequestMailForm(newbody, newsubject, newemailto, newmailbbc); 
    } 
}); 
+0

class SendEmail { Context context; public SendEmail(Context context){ this.context = contex; } //send an email public void send(String email) { Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto", email, null)); intent.setType("message/rfc822"); intent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); intent.putExtra(Intent.EXTRA_TEXT, "Body of message"); context.startActivity(Intent.createChooser(emailIntent, "Send email...")); } } 

その後、あなたは、このような電子メールを送信するたびにその機能をSendEmailクラスのオブジェクトを作成して呼び出します-used)をクラスに追加しますか? –

+0

@ B001どうすればいいのかわからないので、私はそれを行うための新しいJavaクラスを作成しましたが、新しい電子メールとメッセージ本文などを渡すようにコードする方法を教えてください。 – Peter

+0

_wastリソースの...?あなたはバイトについて話していますか? –

答えて

1

クラスを作成し、メッセージと電子メールパラメータでsendEmailメソッドを配置します。 下記のコードを参照してください。再ことになっているあなたのコードを(入れてからあなたを妨げ何

if (url.startsWith("mailto:")) { 
    url = url.substring(7); 
    sendEmail.send(url); 
    return true; 
} 
関連する問題