2

よろしくお願いします。

コア機能の一部として、ユーザー間でメールを送信する必要がある Android アプリを開発しています (スパムではなく、ピアツーピアのメール)。これらのメールには、ユーザーがクリックすると Android アプリを開くリンクが含まれている必要があります。

私が抱えている問題は、これらの電子メールを gmail アカウントに送信すると、リンクがリンクではなく通常のテキストとして表示されることです。

これが私のコードです

private void sendEmail(String recepientName, String recipientEmail) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);  
String aEmailList[] = {  recipientEmail };      
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);  
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Title");  
emailIntent.setType("text/html");  
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,  Html.fromHtml( 
"<!DOCTYPE html><html><body>" +
"<br>Dear " + recepientName + ",<br>" +
"Please <a href=\"myapp://" + "\"><font>click here</font></a></body></html>"));
startActivityForResult(emailIntent, EMAIL_REQUEST);
}

これらのリンクを gmail で受信したメールで機能させるにはどうすればよいですか?

再びありがとう

4

1 に答える 1

2

私が発見したのは、どういうわけか(おそらく素晴らしい才能で)Googleのブラックリストに載っていたということでした. これは、Google が私のコードからリンクを取り除き、ユーザーがそれを通常のテキストとして認識したことを意味します。

理由は次のとおりです。

私のリンクは次のようになりました: myAppName://parameter1/parameter2/Parameter3

プレフィックス (「myAppName://」) により、Android はアプリを識別し、リンクをクリックしたときにアプリを起動できます。

ただし、このリンクが gmail アカウントに送信されたとき、Google のサーバーはこれが無効なリンクであることを識別でき (彼らがそれを確認したことは非常にクールです!!)、リンクを削除しました。

解決策は、アプリの識別と起動に実際の URL を使用することでした: http://myhost.com/parameter1/parameter2/Parameter3のようなもの:

それが役立つことを願っています

android:scheme="http" および適切な android:host

于 2012-12-02T19:14:38.683 に答える