Chcę wysłać zamówioną transmisję w PendingIntent. Ale znalazłem tylko PendingIntent.getBroadcast(this, 0, intent, 0)
, która moim zdaniem może wysłać tylko regularną transmisję. Więc co mogę zrobić?Jak wysłać zamówioną transmisję w PendingIntent?
Odpowiedz
mam to od http://justanapplication.wordpress.com/tag/pendingintent-getbroadcast:
Jeśli onFinished argument nie jest null następnie uporządkowana transmisja jest wykonywana.
Możesz spróbować wywołać PendingIntent.send z zestawem argumentów onFinished.
Jednak natknąłem się na problem polegający na tym, że musiałem wysłać rozkaz uporządkowany z powiadomienia. Mam to działa, tworząc BroadcastReceiver, który tylko przesyła Intent jako OrderedBroadcast. Naprawdę nie wiem, czy to dobre rozwiązanie.
Zacząłem więc od utworzenia Intent, która przechowuje nazwę działania do przekazania jako dodatkowy:
// the name of the action of our OrderedBroadcast forwarder
Intent intent = new Intent("com.youapp.FORWARD_AS_ORDERED_BROADCAST");
// the name of the action to send the OrderedBroadcast to
intent.putExtra(OrderedBroadcastForwarder.ACTION_NAME, "com.youapp.SOME_ACTION");
intent.putExtra("some_extra", "123");
// etc.
w moim przypadku Zdałem PendingIntent do powiadomienia:
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
Notification notification = new NotificationCompat.Builder(context)
.setContentTitle("Notification title")
.setContentText("Notification content")
.setSmallIcon(R.drawable.notification_icon)
.setContentIntent(pendingIntent)
.build();
NotificationManager notificationManager = (NotificationManager)context
.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify((int)System.nanoTime(), notification);
Potem zdefiniowane następujące odbiorniki w moim manifeście:
<receiver
android:name="com.youapp.OrderedBroadcastForwarder"
android:exported="false">
<intent-filter>
<action android:name="com.youapp.FORWARD_AS_ORDERED_BROADCAST" />
</intent-filter>
</receiver>
<receiver
android:name="com.youapp.PushNotificationClickReceiver"
android:exported="false">
<intent-filter android:priority="1">
<action android:name="com.youapp.SOME_ACTION" />
</intent-filter>
</receiver>
wtedy OrderedBro adcastForwarder wygląda następująco:
public class OrderedBroadcastForwarder extends BroadcastReceiver
{
public static final String ACTION_NAME = "action";
@Override
public void onReceive(Context context, Intent intent)
{
Intent forwardIntent = new Intent(intent.getStringExtra(ACTION_NAME));
forwardIntent.putExtras(intent);
forwardIntent.removeExtra(ACTION_NAME);
context.sendOrderedBroadcast(forwardIntent, null);
}
}
- 1. Jak wysłać dane przez PendingIntent do transmisji?
- 2. Jak wysłać PendingIntent do mojej usługi Intent
- 3. wysłać transmisję z usługi do aktywności?
- 4. Anulowanie PendingIntent
- 5. Android PendingIntent Extra
- 6. Wysyłaj transmisję po powiadomieniu kliknij
- 7. Powiadomienie o Androidzie nie jest uruchamiane (PendingIntent)
- 8. PendingIntent get requestCode
- 9. Pokaż okno przy użyciu PendingIntent
- 10. Jak ograniczyć transmisję do własnej aplikacji na Androida
- 11. Wysyłaj dane EXTRA za pośrednictwem problemu PendingIntent.
- 12. Jak zaimplementować transmisję wideo na żywo w języku C#?
- 13. getExtra z Intent uruchomiona z pendingIntent
- 14. Jak wysłać SMS o więcej niż 160 znakach?
- 15. Jak wysłać dane asynchroniczne przez libwebsocket?
- 16. Wyślij transmisję tylko do specyficznej aktywności
- 17. Jak mogę utworzyć transmisję na żywo z filmów z youtube?
- 18. Jak rozpoznać * jakie * urządzenie Bluetooth powoduje transmisję ACTION_ACL_CONNECTED?
- 19. Prośba o transmisję strumieniową iOS HTTP w formie wieloczęściowej
- 20. Przekazywanie dodatków z widgetu w PendingIntent do działania
- 21. Jak wysłać żądanie SOAP?
- 22. jak wysłać program SMS?
- 23. Jak wysłać ponownie żądanie GWT RequestFactory
- 24. Jak wysłać żądanie POST?
- 25. Jak wysłać żądanie GET w AS3?
- 26. Jak wysłać plik w żądaniu POST?
- 27. Jak wysłać zdarzenie wskaźnika w systemie Android?
- 28. Jak wysłać e-mail w ASP.NET C#
- 29. Jak wysłać żądanie SOAP w PHP
- 30. Jak wysłać żądanie POST w RestSharp?