Я пытаюсь передать команду adb на широковещательный приемник. Это было бы очень простая задача, но braodcast-приемник:adb broadcast with user ID
андроида: экспортироваться = "ложь"
На официальном вебсайте android.developer, он говорит:
Если «false», единственными сообщениями, которые может принимать широковещательный приемник, являются те, которые отправляются компонентами одного и того же приложения или приложений с одинаковым идентификатором пользователя.
Так что я пытаюсь добавить идентификатор пользователя в эфир. Мой подход к настоящему времени является следующий ADB команды:
> adb shell am broadcast -a com.example.action -n com.android.package/.receiverName --user "User_ID"
Error: Invalid int: "User_ID"
Я получаю в ЦМД под Windows. Это приложение является системным приложением, точнее, это телефонное приложение по умолчанию. Я думал, что команда Adb является системой по умолчанию. Мой вопрос заключается в следующем: есть ли способ отправить идентификатор пользователя в эфир или получить доступ к не экспортированным действиям? Может быть, разница между User_ID манифеста и User_ID широковещательной передачи am. Заранее спасибо
P.S: У меня нет доступа к корню, потому что он должен работать на множестве устройств, не укореняя всех. В качестве конечного результата я хочу принять входящую видеокальку в качестве Audiocall.
Спасибо, я искал ответ вроде этого, если есть разница между этими пользователями. Но действительно ли нет способа установить apk с тем же идентификатором пользователя, что и приложение для телефона? Что может передать это действие системному приложению? – Foster
@Foster Существует способ, позволяющий двум APK иметь одинаковый идентификатор пользователя, два шага: 1, использовать android: sharedUserId в AndroidManifest.xml; 2, оба АПК должны быть подписаны одним и тем же сертификатом. [Http://developer.android.com/guide/topics/manifest/manifest-element.html#uid](http://developer.android.com/guide/topics/manifest/manifest-element.html#uid) – Swing
Спасибо. Ну, это означает, что если я не автор приложений, я не смогу получить к ним доступ в простой форме. Что касается того же сертификата, мне понадобятся имя пользователя и пароль, верно? – Foster