我很难找到这个错误的解决方案:
GooglePlayServicesUtil:找不到Google Play服务资源。检查项目配置以确保包含资源
我正在使用CloudPush模块,奇怪的是直到昨天一切都运行良好,我正在接收推送消息。我尝试接收超过100个推送消息.....但突然它停止工作,甚至我没有得到任何设备令牌。
var CloudPush = require('ti.cloudpush');
if (CloudPush.isGooglePlayServicesAvailable()) {
CloudPush.retrieveDeviceToken({
success : tokenSuccess,
error : tokenError
});
// Process incoming push notifications
CloudPush.addEventListener('callback', pushRecieve);
} else {
alert("Please enable Google Play Services to register for notifications.");
}
这是我一直在使用的代码,但天知道为什么它突然停止工作。我唯一能记得的就是将Titanium SDK更新到5.3.0.GA,Studio更新到4.6.0,所以最新版本都包括CLI。
但是我一直在使用5.2.2,任何人都可以帮我这个或者这会是一种罕见的错误...... ????
答案 0 :(得分:1)
最后,我找到了解决方案(但不知道实际原因是什么)。
我实现了这段代码:
var CloudPush = require('ti.cloudpush');
Ti.API.info('\n*Play Service = ' + CloudPush.isGooglePlayServicesAvailable());
Ti.API.info('*SERVICE_DISABLED = ' + CloudPush.SERVICE_DISABLED);
Ti.API.info('*SERVICE_INVALID = ' + CloudPush.SERVICE_INVALID);
Ti.API.info('*SERVICE_MISSING = ' + CloudPush.SERVICE_MISSING);
Ti.API.info('*SERVICE_VERSION_UPDATE_REQUIRED = ' + CloudPush.SERVICE_VERSION_UPDATE_REQUIRED);
Ti.API.info('*SUCCESS = ' + CloudPush.SUCCESS);
if (CloudPush.isGooglePlayServicesAvailable() == 0) {
CloudPush.retrieveDeviceToken({
success : function (e) {
Ti.API.info('** deviceToken == ' + e.deviceToken);
},
error : tokenError
});
CloudPush.addEventListener('callback', pushRecieve);
} else {
CloudPush.clearStatus();
CloudPush.retrieveDeviceToken({
success : function (e) {
Ti.API.info('** deviceToken == ' + e.deviceToken);
},
error : tokenError
});
}
因此,解决方案是调用此方法CloudPush.clearStatus()并再次获取令牌。
但是在控制台上仍然存在错误,尽管我成功收到了令牌。
这是控制台输出:
[INFO] : GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
[INFO] : *Play Service = 0
[INFO] : *SERVICE_DISABLED = 3
[INFO] : *SERVICE_INVALID = 9
[INFO] : *SERVICE_MISSING = 1
[INFO] : *SERVICE_VERSION_UPDATE_REQUIRED = 2
[INFO] : *SUCCESS = 0
[INFO] : GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
[INFO] : ** deviceToken == AP.......qK
在我之前的代码中,我犯了一个错误,我认为CloudPush.isGooglePlayServicesAvailable()将返回true表示成功,但它实际上返回一个数字(上面打印),然后我明白了它是否正确。
但是在我调用CloudPush.clearStatus()之前它没有用。
希望它会帮助某人:)