Urban Airship "error: cannot find symbol method shared()"
Urban Airship "error: cannot find symbol method shared()"
"shared()" 方法由于某种原因未被识别,这阻止了我的应用程序代码的编译。我看到的错误是:
error: cannot find symbol method shared()
我在我的 "build.gradle (Module: app)" 文件中使用它:
dependencies {
......................
// Urban Airship SDK
compile 'com.urbanairship.android:urbanairship-sdk:8.3.+'
......................
}
我认为这个 "shared()" 方法会包含在我调用的 Urban Airship SDK 版本 8.3.+ 中。当我看到他们提供的 Urban Airship Sample 应用程序时,在 https://github.com/urbanairship/android-library/blob/master/urbanairship-sdk/src/main/java/com/urbanairship/UAirship.java:
处声明了一个 "shared()" 方法
/**
* Returns the shared UAirship singleton instance. This method will block
* until airship is ready.
*
* @return The UAirship singleton.
* @throws IllegalStateException if takeoff is not called prior to this method.
*/
@NonNull
public static UAirship shared() {
synchronized (airshipLock) {
if (!isTakingOff && !isFlying) {
throw new IllegalStateException("Take off must be called before shared()");
}
return waitForTakeOff(0);
}
}
关于为什么 "shared()" 方法对我不可用的任何想法?这是我如何在我的代码中使用它的示例,我从源代码的不同部分多次调用它但它总是相同的,方法无法识别:
String appid=PushManager.shared().getAPID();
谢谢。
3.3 到 8.3 是相当大的更新。我们现在使用 "channels" 而不是 "apids",本质上是一样的,但已经更新了一点。我们还删除了单个模块的大部分单例访问器,并将它们移至 UAirship 实例。新代码应该是
UAirship.shared().getPushManager().getChannelId();
我建议看一下 Urban Airship Android Guide as well as the migration guide. Other than API changes, we made lots of changes to how to listening and customizing push notifications。尽管现在我们通过推送 API 和飞艇配置提供了大多数选项,但自定义通知并不是那么必要。
"shared()" 方法由于某种原因未被识别,这阻止了我的应用程序代码的编译。我看到的错误是:
error: cannot find symbol method shared()
我在我的 "build.gradle (Module: app)" 文件中使用它:
dependencies {
......................
// Urban Airship SDK
compile 'com.urbanairship.android:urbanairship-sdk:8.3.+'
......................
}
我认为这个 "shared()" 方法会包含在我调用的 Urban Airship SDK 版本 8.3.+ 中。当我看到他们提供的 Urban Airship Sample 应用程序时,在 https://github.com/urbanairship/android-library/blob/master/urbanairship-sdk/src/main/java/com/urbanairship/UAirship.java:
处声明了一个 "shared()" 方法/**
* Returns the shared UAirship singleton instance. This method will block
* until airship is ready.
*
* @return The UAirship singleton.
* @throws IllegalStateException if takeoff is not called prior to this method.
*/
@NonNull
public static UAirship shared() {
synchronized (airshipLock) {
if (!isTakingOff && !isFlying) {
throw new IllegalStateException("Take off must be called before shared()");
}
return waitForTakeOff(0);
}
}
关于为什么 "shared()" 方法对我不可用的任何想法?这是我如何在我的代码中使用它的示例,我从源代码的不同部分多次调用它但它总是相同的,方法无法识别:
String appid=PushManager.shared().getAPID();
谢谢。
3.3 到 8.3 是相当大的更新。我们现在使用 "channels" 而不是 "apids",本质上是一样的,但已经更新了一点。我们还删除了单个模块的大部分单例访问器,并将它们移至 UAirship 实例。新代码应该是
UAirship.shared().getPushManager().getChannelId();
我建议看一下 Urban Airship Android Guide as well as the migration guide. Other than API changes, we made lots of changes to how to listening and customizing push notifications。尽管现在我们通过推送 API 和飞艇配置提供了大多数选项,但自定义通知并不是那么必要。