2017-01-27 21 views
0

Android用のfirebaseディープリンクを使用していますが、バックグラウンドで正しく動作しません。 は、ここで私は、アプリケーションがバックグラウンドでないときにそれが働いているFirebase Androidでバックグラウンドで動作しないディープリンク

mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .enableAutoManage(SplashActivity.this, SplashActivity.this) 
      .addApi(AppInvite.API) 
      .build(); 
boolean autoLaunchDeepLink = false; 
AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autoLaunchDeepLink) 
     .setResultCallback(
       new ResultCallback<AppInviteInvitationResult>() { 
        @Override 
        public void onResult(@NonNull AppInviteInvitationResult result) { 
}}} 

を使用しています私のコードですが、アプリがバックグラウンドで動作している場合は、アプリを開くが、ResultCallbackonResultメソッドが呼び出されません。そのため、要件に応じてアプリケーション画面をナビゲートできません。

+0

誰もこれを回避することができましたか?私は 'android:pathPrefix ="/gizmos "'と 'android:pathPattern ="。* "'を使ってみましたが、解決できませんでした。 –

+0

は競合状態のためにコールバックを呼び出すのを待つ必要があります。私のAPIからトークンを取得した後にコールバックをコールバックする方法を理解できません。 –

+0

あなたはそれを解決しましたか?私は同じ問題を抱えています。 –

答えて

0

AppInvite.AppInviteApi.getInvitation()コードはどこに記入しましたか? それは適切なテントフィルタを使用してAndroidManifestで定義されているActivityに存在する必要があります。

<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="example.com" android:scheme="http"/> 
    <data android:host="example.com" android:scheme="https"/> 
</intent-filter> 
+0

私はすでにコードを入れている、アプリがバックグラウンドでない場合は動作している。しかし、アプリケーションインスタンスがバックグラウンドの場合、アプリケーションは正しく動作していません。 ResultCallbackのonResultメソッドは呼び出されません。しかし、私はコードを書き留めている活動の名前を作成します。 – Shivang

+0

メソッドは、アクティビティのonCreate()メソッドにあります。 – Shivang

0

は私がディープリンクが起動される最初のアクティビティで扱われていたので、これが起こっている理由があることがわかりました。これが機能するために実際には、このような第二の活動に処理する必要があります。

<activity> 
     android:name=".activity.FirstActivity" 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity> 
     android:name=".activity.SecondActivity" 
     <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="https" 
        android:host="www.example.com" 
        android:pathPrefix="/extra"/> 
     </intent-filter> 
    </activity> 

これは私のために働きました。

関連する問題