2012-05-14 17 views
0

私はINSTALL_REFERRERブロードキャストを捕獲するBroadcastReceiverを持つアプリケーションを作成しました。BroadcastReceiverがINSTALL_REFERRERブロードキャストをキャッチしていません

私はeclipseでアプリケーションをインストールしていて、adbでブロードキャストを作成すると、すべて正常に動作していることがわかります.LogCatはすべてのものを表示しています。 しかし、私がプレイストアからアプリをインストールしているときは、logcatに何も表示されません。 私が正しく理解している場合、プレイストアアプリは、キャッチされるはずのインストールされているアプリのブロードキャストウィッチを作成する必要があります。

ザッツはbasicly何イムやって:

public class SDK_Referrer extends BroadcastReceiver 
{ 
    public void onReceive(Context context, Intent intent) 
    { 
     if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) 
     { 
      String referrer = intent.getStringExtra("referrer"); 
      if (!(referrer == null || referrer.length() == 0)) 
      { 
       // extracting the relevant data to Map 
       Log.d("SAMPLE", "Generating Ymid from referrel"); 
       Map<String, String> referralmap = 
        createHashMapFromQueryString(referrer); 
       Log.d("SAMPLE", "Ymid is: " + referralmap.get("ymid")); 
      } 
     } 
    } 
} 

私は唯一のアプリがインストールされているときにサーバーにいろいろ書いを送りたいです。 ありがとう!

答えて

1

あなたのマニフェストに受信機を追加する必要があります。これにより、アプリがブロードキャストを受信する何かを持っていることが分かります。このようなもの:

<receiver android:name="com.company.cool.SDK_Referrer" android:exported="true"> 
    <intent-filter> 
     <action android:name="com.android.vending.INSTALL_REFERRER" /> 
    </intent-filter> 
    </receiver> 
関連する問題