2016-08-30 11 views
0

Im пытается назвать 3-го намерения службы партия в моем приложение для Android, но она возвращает ошибку:Не допускается, чтобы начать службы Intent без разрешения не экспортируемого из Uid

java.lang.SecurityException: Not allowed to start service Intent { act=com.othercompany.SERVICE_INTENT flg=0x3 cmp=com.mycompany.package/com.othercompany.service.CoreService (has extras) } without permission not exported from uid 10107

Служба Намерение Я пытаюсь позвонить полностью внешнее для моего приложения, и поэтому я не могу получить доступ к его файлам кода или манифеста.

мой код выглядит следующим образом:

 buttonPress.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent talkButtonDown = new Intent(PRESS_CLASS); 
      talkButtonDown.setClassName(PACKAGE, "com.othercompany.service.CoreService"); 
      talkButtonDown.putExtra(RESTART_EXTRA, true); 
      talkButtonDown.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
      talkButtonDown.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); 
      startService(talkButtonDown); 
     } 
    }); 

Я прочитал в других постах о необходимости «экспортировали = истина» в манифесте внешнего приложения, но у меня нет доступа к этому манифесту. Есть ли что-нибудь еще, что может вызвать эту ошибку? Любая помощь будет высоко оценен. Cheers.

ответ

2

Is there anything else that could be throwing this error?

Нет. Это сервис не экспортируется. Он предназначен исключительно для использования приложением, обслуживающим приложение, а не для других приложений, вызываемых напрямую.

Возможно, вы обратитесь к соответствующей компании, чтобы узнать, есть ли у них документально подтвержденный API-интерфейс для работы со своим Android-приложением.

+0

Хммм, я надеялся, что это не так. Я свяжусь с разработчиком и убедитесь, что все в порядке с их конца. Большое спасибо. – samuelmadethis