How do I use the unofficial Android Market API?

一曲冷凌霜 提交于 2019-11-30 13:00:00
i18n

There is a problem with androidId. Instead of:

String AndroidId = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);

Use this:

String AndroidId = "dead000beef";

It Works.

I strongly suggest to take a look at https://groups.google.com/forum/#!forum/android-market-api (the only place I know still being active about Android Market API).

Please take in account that the authentication method (login/pwd) is more than deprecated now (and not secure), and might not be anymore supported by the current market protocol.

Also a valid android id is not anymore as simple as before to retreive, see the groups for that too.

This is not Secure.ANDROID_ID, it's Gtalk service device ID.

You can use the following code:

public String getDeviceId(Context context) {
    String[] params = { GSERVICES_ID_KEY };
    Cursor c = context.getContentResolver()
            .query(GSERVICES_URI, null, null, params, null);

    if (!c.moveToFirst() || c.getColumnCount() < 2)
        return null;

    try {
        return Long.toHexString(Long.parseLong(c.getString(1))).toUpperCase();
    } catch (NumberFormatException e) {
        return null;
    }
}

And add the permission to read Gservice

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!