Facebook Android SDK 3.0 и Lollipop

У меня возникла проблема с явным намерением, найденным в SDK Facebook на Lollipop. До версии Api v21 это только предположительно вызывало ошибку, но теперь выдает исключение. Мне интересно, есть ли исправление, чтобы превратить это в неявное намерение. Часть, которая терпит неудачу, это:

Intent intent = new Intent(NativeProtocol.INTENT_ACTION_PLATFORM_SERVICE);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent = NativeProtocol.validateKatanaServiceIntent(context, intent);

    if (intent == null) {
        callback(null);
        return false;
    } else {
        running = true;
        context.bindService(intent, this, Context.BIND_AUTO_CREATE);
        return true;
    }

Я попытался установить имя пакета, например:

intent.setPackage("com.facebook");

Но это не сработало.

Любые идеи?

благодарю вас


person breakline    schedule 23.06.2015    source источник


Ответы (1)


Итак, я нашел способ:

Intent intent = new Intent(NativeProtocol.INTENT_ACTION_PLATFORM_SERVICE);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent = NativeProtocol.validateKatanaServiceIntent(context, intent);
    ResolveInfo resolveInfo = context.getPackageManager().resolveService(intent, 0);
    if (intent == null) {
        callback(null);
        return false;
    } else {
        running = true;
        intent.setPackage(resolveInfo.serviceInfo.packageName);
        context.bindService(intent, this, Context.BIND_AUTO_CREATE);
        return true;
    }

Если это кому-то еще нужно.

person breakline    schedule 23.06.2015