2015-03-24 2 views
1

У меня есть сервис в моем андроида приложения:Невозможно привязать службу в андроида вариант приложения

<service android:name="com.example.my.service.MyService" > 
</service> 

Я определяю два аромата в build.gradle:

defaultConfig { 
    applicationId "com.example.my" 
} 
productFlavors { 
    pro { 

    } 
    free { 
     applicationId = "com.example.my.free" 
    } 
} 

В OnCreate из com.example .my.MainActivity, я связываю службу:

Intent intent = new Intent(); 
intent.setComponent(new ComponentName("com.example.my", "com.example.my.service.MyService"); 
bindService(intent, mMyServiceconnection, BIND_AUTO_CREATE); 

про приложение может работать и связать службу успешно. Но когда бесплатное приложение пытается связать службу, есть ошибка:

java.lang.SecurityException: Not allowed to bind to service Intent { cmp=com.example.my/.service.MyService } 

Услуга нужна только доступ в применении внутренний, есть ли способ бесплатное приложение может связать службу?

ответ

0

Изменить объявление вашей службы в манифесте:
<service android:name=".service.MyService" />

Тогда в OnCreate() из com.example.my.MainActivity использовать следующий код, чтобы связываться с сервисом:

Intent serviceIntent = new Intent(getApplicationContext(), MyService.class); 
    bindService(serviceIntent, this, Context.BIND_AUTO_CREATE); 
Смежные вопросы