プッシュ通知のための worklight と xtify の統合に取り組んでいます。最新バージョン (2.4.2) では、クラスが見つからない例外が原因でアプリが失敗したため、xtify sdk にバージョン 2.3.2 を使用しています。
xtify を使用するためのロジックは、次のように WL ハイブリッド アプリケーションのネイティブ コードに追加されています。
public class XtifyWL extends WLDroidGap {
public static final String XTIFY_APP_KEY = "xxxxxxxx-xxxxx-xxxx-xxxxx-xxxxxxxxx";
public static final String PROJECT_NUM = "xxxxxxxxxxxx"; // This is the Google Project Number
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
XtifySDK.start(getApplicationContext(), XTIFY_APP_KEY, PROJECT_NUM);
}
プッシュ通知を受信していますが、重複しています。ワークライトを開こうとすると失敗するという通知を 1 つ受け取り、正常に動作するネイティブ アプリケーションについてもう 1 つの通知を受け取りました。
どうすれば修正できますか?
SDK 2.4.2.2 の問題について
SDK 2.4.2.2 の例外は次のとおりです。
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to get provider com.xtify.sdk.db.Provider: java.lang.ClassNotFoundException: com.xtify.sdk.db.Provider
at android.app.ActivityThread.installProvider(ActivityThread.java:4609)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4236)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4178)
at android.app.ActivityThread.access$1400(ActivityThread.java:134)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.xtify.sdk.db.Provider
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.ActivityThread.installProvider(ActivityThread.java:4594)
... 12 more
そのクラスが表示される唯一の場所は AndroidManifest.xml です。
<provider android:name="com.xtify.sdk.db.Provider" android:authorities="com.XtifyApp.XTIFY_PROVIDER" android:exported="false" />
その行をコメントすると、SDK の任意のクラスを次に使用するときに失敗します。sdk .jar ファイルを Android プロジェクトの libs フォルダーと Android プロジェクトのビルド パスに追加しました。
ありがとう、