В настоящее время я разрабатываю приложение, которое считывает SMS / электронные письма во время вождения. Многие пользователи желали поддержки WhatsApp / KakaoTalk.
Однако, поскольку нет «официального» способа получать их сообщения, будет только три варианта, все из которых требуют root:
Более простой способ сканирования их базы данных в заданный интервал.
Другой способ - запустить службу с правами root и зарегистрировать получатель, который прослушивает их push-уведомления. Это должно быть сделано с root, поскольку оба пакета требуют разрешения на основе подписи для получения своих push-уведомлений.
Также мне пришла в голову еще одна вещь: можно ли вручную добавить разрешения для APK после установки? В этом случае я мог бы добавить разрешения c2dm в свой пакет.
Проблема в том, как точно мне запустить службу с правами root (возможно ли это на самом деле)? Я знаю, как запускать команды оболочки или двоичные файлы с правами root , но я понятия не имею, как запустить часть APK с правами root.
Кроме того, можно ли интегрировать BroadcastReceiver в двоичный файл? На самом деле у меня нет опыта работы с C / C ++, особенно в среде Android.
Вы можете мне с этим помочь? Спасибо.
edit: Как я сказал в комментарии, я не хочу использовать AccesibilityService , так как он не соответствует моим потребностям (например, он выдаст мне «2 непрочитанных сообщения», если более одного непрочитанный, также не включает в себя полное тело).
edit2: Чтобы прояснить ситуацию: я знаю, как запускать команды с правами root.Мне нужно знать, как зарегистрировать широковещательный приемник, который принимает конкретную широковещательную передачу, которую «нормальные» приемники не получают, поскольку сама широковещательная передача требует разрешения на основе подписи, которого у меня нет.