2012-03-19 10 views
0

私は都市飛行船を初めて使い、これを自分のAndroidアプリケーションに統合しています。飛行船のサンプルソースを入手しました。私は飛行船を私のアプリケーションに呼び出すために同じ手順に従っていました。私はプッシュ通知を送信するたびに、私は私のデバイスを介して取得することはできません。私がAirshipに与えたのと同じ私のソースで与えたパッケージ名。どのようにアンドロイドのアプリケーションでアーバン飛行船を統合する方法を私に案内することができます。都市飛行場のプッシュ通知がデータをプッシュしていない

AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(this); 

    // Optionally, customize your config at runtime: 
    // 
    // options.inProduction = false; 
    options.developmentAppKey = "My Key"; 
    options.developmentAppSecret "My key"; 

    UAirship.takeOff(this, options); 
    Logger.logLevel = Log.VERBOSE; 

    //use CustomPushNotificationBuilder to specify a custom layout 
    CustomPushNotificationBuilder nb = new CustomPushNotificationBuilder(); 

    nb.statusBarIconDrawableId = R.drawable.icon_small;//custom status bar icon 

    nb.layout = R.layout.notification; 
    nb.layoutIconDrawableId = R.drawable.icon;//custom layout icon 
    nb.layoutIconId = R.id.icon; 
    nb.layoutSubjectId = R.id.subject; 
    nb.layoutMessageId = R.id.message; 

    // customize the sound played when a push is received 
    //nb.soundUri = Uri.parse("android.resource://"+this.getPackageName()+"/" +R.raw.cat); 

    PushManager.shared().setNotificationBuilder(nb); 
    PushManager.shared().setIntentReceiver(IntentReceiver.class); 

} 

私は上記のコードをコンパイルしている間、私は

e 03-19 16:13:35.455: ERROR/AndroidRuntime(1247): Uncaught handler: thread main exiting due to uncaught exception 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.XYZ}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.app.ActivityThread.access$1800(ActivityThread.java:112) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.os.Handler.dispatchMessage(Handler.java:99) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.os.Looper.loop(Looper.java:123) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.app.ActivityThread.main(ActivityThread.java:3948) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at java.lang.reflect.Method.invokeNative(Native Method) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at java.lang.reflect.Method.invoke(Method.java:521) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at dalvik.system.NativeStart.main(Native Method) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247): Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:281) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at com.XYZ.onCreate(ManualUpdate.java:86) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 
03-19 16:13:35.545: ERROR/AndroidRuntime(1247):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231) 
+0

いくつかのコードを表示できますか?あなたはどんなレジスタログ情報も見ることができますか?私は私の最新のアプリでそれを使用しているとうまく動作します。 – goodm

+0

私はどんな登録簿情報も見ます。あなたは私に指導を与えることができますか?私は2日以上これを試しています。私は適切な解決策を得ることができません。 – RAAAAM

答えて

1

がで資産に "airshipconfig.properties" ファイルを追加しようと取得しています:

developmentAppKey = key 
developmentAppSecret = key 
productionAppKey = key 
productionAppSecret = key 
inProduction = true 
transport = c2dm 
c2dmSender = email 

および削除:

options.developmentAppKey = "My Key"; 
options.developmentAppSecret "My key"; 

あなたのコードから。

AndroidManifest.xmlはどうですか?あなたはそれを正しくセットアップしましたか?

 <!-- REQUIRED --> 
    <receiver android:name="com.urbanairship.CoreReceiver"> 
     <!-- REQUIRED IntentFilter - For Helium and Hybrid --> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      <action android:name="android.intent.action.ACTION_SHUTDOWN" /> 
     </intent-filter> 
    </receiver> 

    <!-- REQUIRED for C2DM and Hybrid --> 
    <receiver android:name="com.urbanairship.push.c2dm.C2DMPushReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND"> 
     <!-- Receive the actual message --> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <category android:name="com.XXXXXXXX" /> 
     </intent-filter> 
     <!-- Receive the registration id --> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <category android:name="com.XXXXXXXX" /> 
     </intent-filter> 
    </receiver> 

    <!-- REQUIRED --> 
    <!-- The 'android:process' parameter is optional. Set it to a value starting 
     with a colon (:) to make it run in a separate, 
     private process --> 
    <service android:name="com.urbanairship.push.PushService" 
      android:process=":com.urbanairship.push.process"/> 

    <!-- OPTIONAL, if you want to receive push, push opened and registration completed intents --> 
    <receiver android:name="com.XXXXXXXXXX.service.IntentReceiver" /> 

UrbanAirShipのログ情報は常に表示する必要があります。特別登録情報あなたのデバイスが都市のウェブサイトのデバイスに追加されたかどうかをチェックしてください。アンドロイド& PhoneGapのために

+1

はい、通知を表示します。しかし、あなたのデバイスを登録する必要はありません。アーバンは常に働いていないことを覚えておいてください。私は通知を受け取ることに問題がありましたが、いつも私のデバイスを登録しています。 – goodm

+0

UAirship.takeoffでエラーが発生したので、コードを 'UAirship.takeOff((Application)this.getApplicationContext()、options);'に変更しました。この儀式は.. ??? – RAAAAM

+0

私はマニフェストで何を与えるべきですか "カテゴリ:アンドロイド:名前=" com.XXXXXXXX "私は自分のアクティビティを教えてもいいですか? – RAAAAM

0

::

それにアクセスするには、次の

package com.myapp.mobile.push.handler; 
import com.phonegap.DroidGap; 
import android.webkit.WebView; 
import com.urbanairship.Logger; 
import com.urbanairship.push.PushManager; 
import com.urbanairship.push.PushPreferences; 

public class extraFunctions extends DroidGap { 
    public WebView mAppView; 
    private DroidGap mGap; 
    public extraFunctions(DroidGap gap, WebView view) 
    { 
     mAppView = view; 
     mGap = gap; 
    } 

    public String getAUID(){ 
     PushPreferences prefs = PushManager.shared().getPreferences(); 
     return prefs.getPushId(); 
    } 

} 

が含まれているあなたのsrcディレクトリのファイルにxx.java作成します。使用して、あなたの資産/ WWWで

をjavascriptの呼び出し:window.extraFunctions.getAUID();

関連する問題