проверка лицензии для oreo - PullRequest
       19

проверка лицензии для oreo

0 голосов
/ 23 сентября 2018

Для новых обновлений приложений Android я должен установить compileSdkversion на 26.

Когда я это делаю, у меня возникают проблемы с библиотекой лицензирования вендинга, в следующей функции (ServerManagedPolicy.java):

private Map<String, String> decodeExtras(String extras) {
    Map<String, String> results = new HashMap<String, String>();
    try {
        URI rawExtras = new URI("?" + extras);
        List<**NameValuePair**> extraList = 
        **URLEncodedUtils**.parse(rawExtras, "UTF-8");
        for (**NameValuePair** item : extraList) {
            results.put(item.getName(), item.**getValue**());
        }
    } catch (URISyntaxException e) {
        Log.w(TAG, "Invalid syntax error while decoding extras data 
        from server.");
    }
    return results;
}

Я знаю, что эти функции устарели, но обновленной версии библиотеки лицензирования Android Vending нет, и я нигде не могу найти, как заставить ее работать для Oreo или вообще для версий выше, чем Android 19, котораяcompileSdkversion Я использую сейчас.

Кто-нибудь может помочь с этим?

PS.useLibrary 'org.apache.http.legacyuseLibrary 'org.apache.http.legacy не работает.Приложение будет зависать напрямую.

1 Ответ

0 голосов
/ 23 сентября 2018

Попробуйте следующее:

import java.net.URLDecoder;

private static Map<String, String> decodeExtras(final String extras)
{
    final Map<String, String> results = new HashMap<>();

    try
    {
        if (TextUtils.isEmpty(extras) == false)
        {
            final String[] pairs = extras.split("&");

            if (pairs.length > 0)
            {
                for (final String pair : pairs)
                {
                    final int index = pair.indexOf('=');
                    final String name = URLDecoder.decode(pair.substring(0, index), "UTF-8");
                    final String value = URLDecoder.decode(pair.substring(index + 1), "UTF-8");

                    results.put(name, value);
                }
            }
        }
    }
    catch (UnsupportedEncodingException e)
    {
        Log.w(TAG, "Invalid syntax error while decoding extras data from server.");
    }

    return results;
}
...