2013-12-01 2 views
1

Как вы можете программно выйти из режима мечты?Режим выходного дня Android

Кажется, что приложения daydream работают как измененный сервис: http://developer.android.com/reference/android/service/dreams/DreamService.html Так мне нужно было бы реализовать задачу, убив как функциональность, или я могу использовать некоторые намерения?

Заранее спасибо.

+0

DreamService - это сервис. Таким образом, вы прекратили бы службу, как и любую другую услугу, не так ли? Если это запущенная служба, вы вызываете stopSelf() или stopService() в соответствующее время - например, когда пользователь прикасается к экрану или нажимает кнопку, чтобы сигнализировать, что пришло время прекратить мечтать и проснуться до реальности. Я что-то упускаю? –

+0

@harikris Да, извините, я понимаю, теперь мой вопрос непонятен. Я не владею услугой Daydream, поэтому мне нужно положить конец кому-то еще –

ответ

1

Если услуга принадлежит кому-то другому, работающему с другим идентификатором пользователя Linux (и, следовательно, процессом Linux с разницей), я боюсь, что вы не можете его прекратить, если у вас нет прав на root. Помните: Android-система реализует principle of least privilege. Таким образом, вы не можете трогать чужую сервисную составляющую. Сказав это, если у вас есть права на root, вы можете убить любую услугу, если сможете каким-то образом определить ее идентификатор процесса.

Извините, не может быть полезен!

+0

Спасибо за ответ, я думал, что, может быть, есть какое-то умное решение с эмуляцией ввода пользователя? Например, может быть, если я подражаю нажатию кнопки «домой»? Я оставлю этот вопрос открытым некоторое время, чтобы узнать, есть ли какие-либо другие ответы, а затем я буду принимать ваши :) –

+0

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

Смежные вопросы