В отчете о рынке в моем манифесте нет указанного разрешения, когда оно определенно есть?

#android

#Android

Вопрос:

Я внедрил C2DM, я получаю это исключение для небольшой части пользователей (как сообщает marketplace crash reporting):

 java.lang.RuntimeException: Unable to start activity
  ComponentInfo{com.me.app/com.me.app.MyActivity}: 
  java.lang.SecurityException: 
    Not allowed to start service Intent {
      act=com.google.android.c2dm.intent.REGISTER 
      pkg=com.google.android.gsf (has extras) 
    }
  without permission com.google.android.c2dm.permission.RECEIVE
  ...
Caused by: java.lang.SecurityException: 
  Not allowed to start service Intent {
    act=com.google.android.c2dm.intent.REGISTER 
    pkg=com.google.android.gsf (has extras) } without permission
     com.google.android.c2dm.permission.RECEIVE
    at android.app.ContextImpl.startService(ContextImpl.java:864)
  ...
  

У меня определенно есть «com.google.android.c2dm.permission.ПОЛУЧИТЬ»разрешение в моем манифесте, оно отлично работает для тысяч пользователей. Не уверен, почему мне говорят, что у этих пользователей нет запрошенного разрешения?

Спасибо

Комментарии:

1. На какую версию платформы вы ориентируетесь как на наименьший знаменатель? Потому что, если вы нацелены на версию ОС ниже 2.2, телефоны, работающие под управлением любой ОС ниже 2.2, не имеют C2DM и не могут его использовать. Это может вызвать исключение для них.

2. Привет, Darwind, нацелен на 1.6 — но у меня есть проверка версии платформы if-statement, прежде чем пытаться зарегистрировать c2dm. Так что это не должно быть проблемой. У меня тысячи пользователей <2.2, поэтому я ожидал бы увидеть больше таких ошибок, если бы это было так. Торговая площадка!!!

3. Хорошо, есть ли какая-либо согласованность в том, какие телефоны или ОС возвращают исключение?

4. Насколько я могу судить, написано ~ 40 отчетов с устройства: ДРУГОЕ. В одном комментарии пользователя говорится, что они используют Samsung Fascinate. Нет другого способа увидеть версию ОС или что-либо еще, что я могу узнать из интерфейса marketplace. Я не думаю, что есть какой-либо способ связаться с этими пользователями либо через текущий интерфейс marketplace?

5. Может ли быть так, что, поскольку в отчетах об ошибках Market устройства сообщаются как «ДРУГИЕ», эти устройства проходят через ваш оператор if для проверки, установлена ли ОС> = 2.2? Samsung Fascinate, похоже, работает под управлением Android 2.1 в стандартной комплектации?