标签: service-not-available

Google云消息传递 - GCM - SERVICE_NOT_AVAILABLE

我正在尝试,为了实施新的GCM,我正在关注Google的说法:http: //developer.android.com/guide/google/gcm/gs.html

我在获取设备注册ID时遇到困难!

我的应用不断尝试与Google服务器连接,这里我的错误日志:

onReceive: com.google.android.gcm.intent.RETRY
GCM IntentService class: com.dombox.app.GCMIntentService
Acquiring wakelock
[GCMIntentService] start
Registering app com.dombox.app of senders _my_sender_id_
Releasing wakelock
onReceive: com.google.android.c2dm.intent.REGISTRATION
GCM IntentService class: com.dombox.app.GCMIntentService
Acquiring wakelock
[GCMIntentService] start
handleRegistration: registrationId = null, error = SERVICE_NOT_AVAILABLE, unregistered = null
Registration error: SERVICE_NOT_AVAILABLE
Scheduling registration retry, backoff = 912617 (768000)
Releasing wakelock
Run Code Online (Sandbox Code Playgroud)

这是我的活动代码,要求提供ID:

    try{
        Log.i(TAG, "[checkNotifRegistration] checkDevice");
        GCMRegistrar.checkDevice(this);
        Log.i(TAG, "[checkNotifRegistration] checkManifest");
        GCMRegistrar.checkManifest(this);
        if (GCMRegistrar.isRegistered(this)) {
            Log.i(TAG, "[checkNotifRegistration] reg id : "+GCMRegistrar.getRegistrationId(this));
        }
        final String …
Run Code Online (Sandbox Code Playgroud)

android google-cloud-messaging service-not-available

23
推荐指数
2
解决办法
3万
查看次数

Android 2.2上的GCM SERVICE_NOT_AVAILABLE

我在Android 2.2设备上的GoogleCloudMessaging.register()调用上收到错误"SERVICE_NOT_AVAILABLE".

我正在编写一个使用新版Google Play服务使用GoogleCloudMessaging的应用.我使用Android网站上提供的指南实现了它,我的源代码包含大量错误检查和处理代码,例如确保安装或更新Google Play服务.GCM注册码还实现了谷歌的指数退避,建议用来处理SERVICE_NOT_AVAILABLE错误.

我已经在各种设备上测试了我的应用程序,包括ICS,JB,Honey Comb甚至2.3.x设备.GCM注册工作,我可以通过GCM向它发送消息.但是在2.2设备上,我在GoogleCloudMessaging.register()调用中不断收到SERVICE_NOT_AVAILABLE错误,即使有指数退避也是如此.

GCM失败的设备确实是三星SGH-I896,手机上有2个谷歌帐户.我已经读过这个错误可能是由错误配置的时间引起的,但是时间设置为自动的.这款手机没有上线,正在运行三星股票ROM.

我也试过重新启动设备以及重新安装Google Play服务而没有运气.任何有关此问题的帮助将不胜感激.

编辑:我尝试使用旧的gcm.jar和GCMRegistrar实现GCM,它最终在设备上工作.但是我几乎不认为这是一个很好的解决方案,因为谷歌已经停止支持这种方法了.

编辑2:看到接受的答案.

android android-2.2-froyo google-cloud-messaging google-play-services service-not-available

16
推荐指数
2
解决办法
1万
查看次数

java.io.IOException:GCM Client中的SERVICE_NOT_AVAILABLE

我想将gcm客户端实现到现有的Android应用程序中.因此,按照教程,我编写了以下代码:

public class RegisterForGCMAsyncTask extends AbstractSecureOperationTask {

...

@Override
protected Boolean doInBackground(String... params) {
    String token = authenticate();
    getRegId();
    if (TextUtils.isEmpty(registrationId)) {
        return false;
    }
    //
    try {
        URL url = convertToURLEscapingIllegalCharacters(String.format(Constants.REGISTER_URL,
                registrationId, userId, token));
        URLConnection connection = url.openConnection();
        InputStreamReader streamReader = new InputStreamReader(connection.getInputStream());
        JSONParser parser = new JSONParser();
        JSONObject rootObj = (JSONObject) parser.parse(streamReader);
        String status = rootObj.get("status").toString();
        if (status.equals("OK")) {
            return true;
        }
    } catch (ParseException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return …
Run Code Online (Sandbox Code Playgroud)

android ioexception google-cloud-messaging service-not-available

13
推荐指数
3
解决办法
2万
查看次数

Android GCM SERVICE_NOT_AVAILABLE

我试图设置此示例:https: //code.google.com/p/gcm/source/browse/#git%2Fgcm-client 启动并运行.

根据指南,已成功创建GoogleAPI项目:http://developer.android.com/google/gcm/gs.html

但是,我有以下问题:在某些设备上,无论如何我都会获得SERVICE_NOT_AVAILABLE.

W/System.err:java.io.IOException:SERVICE_NOT_AVAILABLE W/System.err:at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source)

一些统计:

  • Nexus 7,android 4.2.2:GCM示例完美运行
  • Nexus 4,android 4.2:GCM示例完美运行
  • Nexus S,android 4.2.2:GCM示例完美运行
  • 三星Galaxy 3:SERVICE_NOT_AVAILABLE在100%的情况下
  • 三星Galaxy,android 2.3.6:SERVICE_NOT_AVAILABLE在100%的情况下
  • 摩托罗拉Xoom,Android 4.1.2:SERVICE_NOT_AVAILABLE在100%的情况下
  • HTC Desire HD,android 2.3:SERVICE_NOT_AVAILABLE在100%的情况下

它是相同的代码,相同的apk文件,各种谷歌帐户.我试图切换回GCMRegistrar方法,他们实际上工作.所以问题是:是否有新的GCM方法?如何让它们在其他设备上运行,而不仅仅是"纯粹的"谷歌Android设备?

更新:事实上,我在这里找到了解决方案

android exception google-cloud-messaging service-not-available

12
推荐指数
1
解决办法
1万
查看次数

反向地理编码 - 服务不可用 - 重新启动设备无法明确解决 - 批评我的手动反向地理编码

有时我会Service Not Available在我的申请中遇到例外情况.大多数时候,没有问题.但有时它会发生.(该应用程序仍在开发中)

解决问题的唯一方法是重启手机.关于支持论坛的相关问题38009.但我从评论中理解的是,重启设备可以永远解决问题.

它是否正确?
因为在我的情况下,错误可以返回(频率:我认为每月一次或两次,我在这个应用程序上是全职).

没有办法从应用程序内部重新启动地理编码器

我唯一的解决方案是提供一个替代解决方案,以防万一"手动"获取地址,如下所示.你有更好的吗?

    Dbg.d(TAG, "=== address_info FetchLocationTask - doInBackground");
new Thread(new Runnable() {

    @Override
    public void run() {
        Looper.prepare();
        mHandler = new Handler();
        Looper.loop();
    }
}).start();

    /**
     * Implementation of a second method in case of failure:
     * 
     */
    double lat = Double.parseDouble(args[0]);
    double lng = Double.parseDouble(args[1]);
    String address = String.format(Locale.ENGLISH,
            "http://maps.googleapis.com/maps/api/geocode/json?latlng="+Double.toString(lat)+","+Double.toString(lng)+"&sensor=true&language="+Locale.getDefault().getCountry(), lat, lng);
    Dbg.d(TAG, "fetching path : "+ address);


    HttpGet httpGet = new HttpGet(address); …
Run Code Online (Sandbox Code Playgroud)

android reverse-geocoding google-geocoder service-not-available

5
推荐指数
1
解决办法
3672
查看次数