我想知道我們的應用程序的IntentSender
類的目的是什麼?我們如何在我們的應用程序中使用它?IntentSender的目的是什麼?
除The Android Intent Based APIs: Part Seven – IntentSenders And PendingIntents之外,有沒有好的例子?
我想知道我們的應用程序的IntentSender
類的目的是什麼?我們如何在我們的應用程序中使用它?IntentSender的目的是什麼?
除The Android Intent Based APIs: Part Seven – IntentSenders And PendingIntents之外,有沒有好的例子?
IntentSender
是一種抽象或膠類的電平,允許你
當用戶在選擇器選擇的應用程序,接收廣播的。
例如,當您使用IntentSender
:
Intent intent = new Intent(Intent.ACTION_SEND)
.putExtra(Intent.EXTRA_TEXT, "This is my text to send.")
.setType("text/plain");
Intent receiver = new Intent(this, BroadcastTest.class)
.putExtra("test", "test");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, receiver, PendingIntent.FLAG_UPDATE_CURRENT);
Intent chooser = Intent.createChooser(intent, "test", pendingIntent.getIntentSender());
startActivity(chooser);
開始Activity
,而不是與IntentSender
Intent
(更Android docs)
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)
像
startActivity(Intent, Bundle)
,而是採取了IntentSender
啓動。
感謝您的回答。很高興注意到開發人員可以在其接收方'onReceive()'方法中使用'(ComponentName)intent.getExtras()。getParcelable(EXTRA_CHOSEN_COMPONENT)'來獲取所選的應用程序信息(包名等)。 – 2017-03-03 08:09:26
爲IntentSender
官方Android開發者文檔中明確指出:
這個類的實例不能與
PendingIntent.getIntentSender()
直接進行,而是從現有的PendingIntent
,而必須創建。
所以,你會(應該)看不到這個類直接在代碼示例或教程中使用。
至於PendingIntent
,它基本上是一個令牌,您可以將其授予另一個應用程序,該應用程序允許該應用程序使用您的應用程序的權限執行應用程序的特定代碼。
Here's an examplePendingIntent
在一個類中使用。
當然,這取決於你的應用程序試圖做什麼? – 2012-03-06 11:59:47
@Stev_k:謝謝,任何有關'IntentSender'的代碼示例和教程... – 2012-03-06 12:03:58