我想知道我们的应用程序的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