Запуск службы с правами root или добавлением разрешений w ith root

В настоящее время я разрабатываю приложение, которое считывает SMS / электронные письма во время вождения. Многие пользователи желали поддержки WhatsApp / KakaoTalk.

Однако, поскольку нет «официального» способа получать их сообщения, будет только три варианта, все из которых требуют root:

Более простой способ сканирования их базы данных в заданный интервал.

  • Простота реализации.
  • Однако батарея неэффективна
  • Также сообщения не считываются немедленно.

Другой способ - запустить службу с правами root и зарегистрировать получатель, который прослушивает их push-уведомления. Это должно быть сделано с root, поскольку оба пакета требуют разрешения на основе подписи для получения своих push-уведомлений.

  • Сложнее реализовать
  • Улучшение взаимодействия с пользователем

Также мне пришла в голову еще одна вещь: можно ли вручную добавить разрешения для APK после установки? В этом случае я мог бы добавить разрешения c2dm в свой пакет.

  • Это упростило бы задачу
  • Однако я немного боюсь изменять разрешения моего приложения, так как это полностью противоречит принципу Android Sandbox.
  • Тем не менее, если можно, дайте мне знать!

Проблема в том, как точно мне запустить службу с правами root (возможно ли это на самом деле)? Я знаю, как запускать команды оболочки или двоичные файлы с правами root , но я понятия не имею, как запустить часть APK с правами root.

Кроме того, можно ли интегрировать BroadcastReceiver в двоичный файл? На самом деле у меня нет опыта работы с C / C ++, особенно в среде Android.

Вы можете мне с этим помочь? Спасибо.

edit: Как я сказал в комментарии, я не хочу использовать AccesibilityService , так как он не соответствует моим потребностям (например, он выдаст мне «2 непрочитанных сообщения», если более одного непрочитанный, также не включает в себя полное тело).

edit2: Чтобы прояснить ситуацию: я знаю, как запускать команды с правами root.Мне нужно знать, как зарегистрировать широковещательный приемник, который принимает конкретную широковещательную передачу, которую «нормальные» приемники не получают, поскольку сама широковещательная передача требует разрешения на основе подписи, которого у меня нет.

13
задан Force 5 January 2014 в 19:04
поделиться