2012-05-14 23 views
0

我创建具有映入一个INSTALL_REFERRER广播一个BroadcastReceiver的应用程序。的BroadcastReceiver不捕捉INSTALL_REFERRER广播

当我安装与Eclipse的应用程序,并建立与亚行广播我看到所有做工精细,在logcat中显示的是所有的,它应该是。 但是,当我从Play商店安装应用程序时,logcat上没有显示任何内容。 如果我理解正确,Play商店应用程序应该创建一个正在安装的应用程序的广播巫婆应该赶上,对吧?

那basicly做什么IM:

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>