12

電子メールのリンクまたはいくつかのソーシャルネットワーキングWebサイトへの投稿からアプリケーションを起動しようとしています。問題は、Android上の一部のデバイスまたは一部のGmailアプリケーションで、指定したアンカータグまたはリンクが表示されないことです。

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="myappname" />

そして、私はこのアンカータグを付けてメールを送信しています

myappname://processtobedone/?id=1

Huaweiデバイスにある電子メールアプリケーションでは正常に動作しますが、デバイスのデフォルトのgmailアプリケーションではリンクが表示されず、一部のデバイスではデフォルトでタグのサフィックスとしてhttps:が追加され、ブラウザーが起動します。

4

4 に答える 4

20

カスタム スキームを使用する代わりに、<intent-filter>制御する URL を識別するを使用できます。

<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:host="www.this-so-does-not-exist.com"
        android:path="/something"
        android:scheme="http"/>
</intent-filter>

次に、へのリンクによりhttp://www.this-so-does-not-exist.com/something、アプリがインストールされているデバイスではアプリが (Web ブラウズと共にセレクターに) 表示され、アプリがインストールされていないデバイスでは Web ページが表示されます。

于 2013-02-19T15:04:17.807 に答える
2

Amazon s3 の静的 Web サイトなど、制御する Web サイトに移動する実際のリンク (http:) を作成し、そのサイトで JavaScript を使用して Android ユーザー エージェントを検出し、アンカー タグのあるリンクにリダイレクトします。

于 2013-02-19T14:48:53.770 に答える
0
<activity
android:name=".SplashEmailActivity"
android:screenOrientation="portrait"
android:exported="true"
android:launchMode="singleInstance" android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize" >

<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="your.domain.name"/>

</intent-filter>

</activity>
于 2016-05-18T11:33:40.707 に答える