Ningún receptor de intenciones estableció AirShip Urbano
Recibo los mensajes de empuje pero cuando hago clic en ellos dentro de la barra de notificaciones este logcat aparece y la notificación desaparece …
Esta es mi salida logcat:
- Push Notifications usando Urban Dirigible devuelve apID como nulo en el primer lanzamiento
- Abrir la aplicación Android desde la notificación PUSH
- Clave de aplicación de desarrollo y secreto de aplicación para Android
- Envío de Amazon SNS desde mi servidor PHP
- PhoneGap-Android: Notificación de empuje de Urban Airship desde mi servidor
05-31 16:49:47.165: D/Test - UALib(20523): No intent receiver set, not sending ACTION_NOTIFICATION_OPENED
Aquí está mi estructura de manifiesto:
<category android:name="com.test.push" /> </intent-filter> </receiver> <service android:name="com.urbanairship.push.PushService" android:label="Push Notification Service" /> <service android:name="com.urbanairship.push.PushWorkerService" android:label="Push Notification Worker Service" /> <service android:name="com.urbanairship.analytics.EventService" android:label="Event Service" /> <provider android:name="com.urbanairship.UrbanAirshipProvider" android:authorities="com.test.push.urbanairship.provider" android:exported="false" android:multiprocess="true" /> <activity android:name="com.test.push.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.test.push.SettingsActivity" android:label="@string/title_activity_settings" /> <activity android:name="com.test.push.ChooseClass" android:label="@string/app_name" /> </application>
Esto aquí es mi MyApplication.java:
public class MyApplication extends Application { @Override public void onCreate() { AirshipConfigOptions options = AirshipConfigOptions .loadDefaultOptions(this); options.developmentAppKey = "1234567890"; options.developmentAppSecret = "1234567890"; options.productionAppKey = ""; options.productionAppSecret = ""; options.gcmSender = "1234567890"; options.transport = "gcm"; options.inProduction = false; UAirship.takeOff(this, options); PushManager.enablePush(); } }
Y este es mi IntentReceiver.java:
public class IntentReceiver extends BroadcastReceiver { @Override public void onReceive(Context aContext, Intent aIntent) { String action = aIntent.getAction(); if (action.equals(PushManager.ACTION_PUSH_RECEIVED)) { logPushExtras(aIntent); } else if (action.equals(PushManager.ACTION_NOTIFICATION_OPENED)) { logPushExtras(aIntent); Intent launch = new Intent(Intent.ACTION_MAIN); launch.setClass(UAirship.shared().getApplicationContext(), MainActivity.class); launch.putExtra("push_message", aIntent.getStringExtra(PushManager.EXTRA_ALERT)); launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); UAirship.shared().getApplicationContext().startActivity(launch); } else if (action.equals(PushManager.ACTION_REGISTRATION_FINISHED)) { Logger.info("device registrated, APID=" + aIntent.getStringExtra(PushManager.EXTRA_APID) + ", valid=" + aIntent.getBooleanExtra( PushManager.EXTRA_REGISTRATION_VALID, false)); } } private void logPushExtras(Intent intent) { Set<String> keys = intent.getExtras().keySet(); for (String key : keys) { List<String> ignoredKeys = (List<String>) Arrays.asList( "collapse_key", "from", PushManager.EXTRA_NOTIFICATION_ID, PushManager.EXTRA_PUSH_ID, PushManager.EXTRA_ALERT); if (ignoredKeys.contains(key)) { continue; } } } }
- Dirigible Urbano - Push Sample => APID es cada vez nulo
- Volver a iniciar la aplicación Android cuando el usuario hace clic en la notificación de Dirigible urbano
- Cómo registrarse apid en el dirigible urbano para android?
- Cómo obtener el símbolo de autorización de C2DM para usar el dirigible urbano
- ¿Por qué debo comenzar el servicio de urbanairship como un proceso separado?
- Prolem usando urbanairship Provider android
- Android: Urban Dirigible 6.0.1: android: elevation no se encontró ningún recurso que coincida con el nombre dado
- Configuración del Dirigible Urbano con objetivos múltiples - ¿Es posible el mismo ID de paquete?
El problema era que me faltaba la siguiente línea dentro de mi archivo MyApplication.java
:
PushManager.shared().setIntentReceiver(IntentReceiver.class);
Todo lo demás era correcto. Ahora está funcionando perfectamente.
Y me faltaba para especificar android:name
la aplicación android:name
atributo de android:name
en mi archivo de manifiesto-
<application android:allowBackup="true" android:icon="@drawable/app_icon" android:label="@string/app_name" android:theme="@style/AppTheme" android:allowClearUserData="true" android:enabled="true" android:name=".MyMainApplication"> <activity> Some Activity </activity> </application>
- Enlace profundo de Android en la aplicación Instagram
- Los caracteres árabes en String.Format ("% d", 1, Locale.US)