【发布时间】:2016-02-03 12:04:36
【问题描述】:
我想使用 UrbanAirship 最新的 sdk 创建一个 ane 文件。我在应用程序块下的 app-xml 中添加了 Autopilot metadata(<meta-data android:name="com.urbanairship.autopilot" android:value="com.sample.aneAndroid.TakeOffHelper" /> ),还创建了 Autopilot 的子类并在那里添加了 AirshipConfigOptions。当我尝试在实现 FREFunction 的类中调用 Autopilot.automaticTakeOff(app); 时,它会给出以下错误-
02-03 17:14:11.949 23088-23088/? I/dalvikvm﹕ Could not find method com.urbanairship.Autopilot.automaticTakeOff, referenced from method com.sample.aneAndroid.UAPushNotificationExtensionSubscribeFunction.call
02-03 17:14:11.949 23088-23088/? W/dalvikvm﹕ VFY: unable to resolve static method 3322: Lcom/urbanairship/Autopilot;.automaticTakeOff (Landroid/app/Application;)V
TakeOffHelper.java
@Override
public AirshipConfigOptions createAirshipConfigOptions(Context context) {
Log.v("Autopilot", "createAirshipConfigOptions called");
AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(context.getApplicationContext());
Log.v("Autopilot", "createAirshipConfigOptions called " + options);
return options;
}
@Override
public void onAirshipReady(UAirship airship) {
Log.v("Autopilot", "onAirshipReady called");
DefaultNotificationFactory defaultNotificationFactory = new DefaultNotificationFactory(UAirship.getApplicationContext());
defaultNotificationFactory.setColor(NotificationCompat.COLOR_DEFAULT);
// Set it
airship.getPushManager().setNotificationFactory(defaultNotificationFactory);
// Enable Push
airship.getPushManager().setPushEnabled(true);
}
UAPushNotificationExtensionInitFunction.java
public FREObject call(FREContext context, FREObject[] args) {
UAPushNotificationExtensionContext nec = (UAPushNotificationExtensionContext) context;
android.app.Activity activity = nec.getActivity();
nec.activity = activity;
Application app = context.getActivity().getApplication();
Autopilot.automaticTakeOff(app);}
【问题讨论】:
-
你是如何构建你的 ANE 的?
标签: android apache-flex urbanairship.com ane