1

電子メールの URL からアプリを開き、URL を渡すためにフィルター アクティビティを実装しました。最初のトレイルでは問題なく動作します。電子メールを開き、電子メールのリンクをタッチすると、使用するアプリを尋ねられ、アプリを選択すると問題なく動作します。

しかし、メールアプリをもう一度開いてみると、他の電子メールを開くと言うと、メールアプリでは電子メールが表示されず、電子メールからのデータなしで直接アプリに移動します。メールを再び開くには、アプリを強制終了する必要があります。

自分のアプリで GMail アプリを試してみましたが、そうではありません。Androidメールアプリがめちゃくちゃになるので、私が見逃した何かがあるのだろうか。

ありがとう。

マニフェスト ファイルからのフィルターは次のとおりです。

< intent-filter>
            < action android:name="android.intent.action.VIEW" />
            < category android:name="android.intent.category.DEFAULT" />
            < category android:name="android.intent.category.BROWSABLE" />
            < data android:scheme="http" android:host="myhost.com"/>
< /intent-filter>

in the app i pull url like this:

@Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent intent = getIntent();
        Uri uri = intent.getData();
        if (uri!=null){
        String msgFromUrl=intent.getDataString();
        try {
            msgFromUrl = java.net.URLDecoder.decode(msgFromUrl, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        if(msgFromUrl.length()>0){
            Toast.makeText(this, msgFromUrl, Toast.LENGTH_LONG).show();
        }
       }
  ...
}
4

0 に答える 0