0

我创建了一个应用程序,它有一个可以捕获广播的 BroadcastReceiver INSTALL_REFERRER

当我使用 eclipse 安装应用程序并使用 adb 创建广播时,我发现一切正常,LogCat 正在显示它应该显示的所有内容。但是当我从 Play 商店安装应用程序时,logcat 上没有显示任何内容。如果我理解正确,Play 商店应用程序应该创建一个广播女巫,正在安装的应用程序应该捕获,对吧?

这基本上就是我在做什么:

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"));
            }
        }
    }
}

我只想在安装应用程序时向服务器发送一些东西。谢谢!

4

1 回答 1

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>
于 2012-07-05T22:21:59.630 回答