2013-04-13 3 views
6

Я новичок в разработке Android. Я большой поклонник приложения Inbuilt Talk от Android, но я ненавижу об этом - отсутствие настраиваемого уведомления, поэтому я решил разработать для него приложение.Получение сообщений GTalk в собственном приложении?

Мое требование - приложение, которое следит за GTalk и отображает предварительно настроенные уведомления при получении сообщения.

Обратите внимание: я не хочу, чтобы мое приложение запрашивало у пользователя имя пользователя или пароль GTalk. Я знаю библиотеку Asmack, но это более полезно для IM-клиента, поэтому я должен просто захватить событие входящего сообщения. (Что-то вроде BroadcastReceiver для SMS?)

Возможно ли получить сообщения Gtalk, как вы можете получать SMS-сообщения с помощью BroadcastReceiver?

+0

'Я не хочу, чтобы мое приложение запрашивало у пользователя имя пользователя или пароль GTalk. Пожалуйста, проясните, что вы имеете в виду? – Freak

+0

Он, вероятно, означает, что он не хочет создавать совершенно новое приложение imx – gtsouk

ответ

3

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

+1

Возможно, нет соответствующей документации, но реализация возможна, приложение супер уведомлений Gtalk делает это, оно производит пользовательские вибрации и/или мелодии звонка при получении сообщений в GTalk, и, самое главное, он не запрашивает имя пользователя и пароль при его установке ... поэтому я хочу знать, как это сделать. – Shariq

+0

@CommonsWare, ах, но они сделали! Он «безопасен» в том смысле, что он находится за дополнительным разрешением, но он (насколько я могу судить) недокументирован и неподдерживается (хотя зачем использовать защиту protectionLevel = «опасные» разрешения, если они не поддерживаются?). – Delyan

2

Несмотря на то, что он не задокументирован, Рамки служб Google предоставляют разрешения, которые предоставляют вам доступ к поставщику контента Google Talk (GTalk Super Notifier использует один из них, чтобы сделать свою магию). Однако я не смог найти документацию по этому провайдеру контента, поэтому вам придется перепроектировать его.

Вот соответствующие разрешения:

+ group:android.permission-group.MESSAGES 
    + permission:com.google.android.providers.talk.permission.READ_ONLY 
    package:com.google.android.gsf 
    label:read instant messages 
    description:Allows apps to read data from the Google Talk content provider. 
    protectionLevel:dangerous 
    + permission:com.google.android.providers.talk.permission.WRITE_ONLY 
    package:com.google.android.gsf 
    label:write instant messages 
    description:Allows apps to write data to the Google Talk content provider. 
    protectionLevel:dangerous 

Как и в сторону, это странно, что Google будет выставлять разрешения с ProtectionLevel = «опасным», а не документировать их использование.

+0

Спасибо! Это привело меня к правильному пути, и поэтому награда была присуждена. В какой-то момент я, вероятно, создам демонстрационное приложение, если кому-то это понадобится. – Doug

+0

@Doug Вы когда-нибудь выяснили, можно ли запросить Google Hangouts? Я пытаюсь получить непрочитанный счет, и до сих пор я могу получить непрочитанный счетчик SMS, наблюдая за Telephony.Sms. Я пришел по разрешению com.google.android.gm.permission.READ_CONTENT_PROVIDER, но я не уверен, что Uri запросит. – GaBo

+0

@GaBo, Нет, я этого не сделал. Я никогда не понимал этого, поэтому я сдался. Если вам посчастливилось найти решение, я бы с удовольствием узнал. Благодарю. – Doug