Intent是用来沟通组件的
比如说它的典型应用就是
1.startActivity(),
startActivityForResult()
2.startService()
bindService()
3.sendBroadcast()
,sendOrderedBroadcast()
, or sendStickyBroadcast()
又分为显示intent和隐式intent
隐式intent启动流程:
另外 intent到底是如何工作的 呢?
如果是显示intent Android系统会直接找到那个组件并启动
如果是隐式intent Android系统将在所有的manifest文件里面找这个Action 如果只有一个就启动这个 如果有多个的话就启动一个对画框让用户选择
intent的主要信息如下:
1.Component name 组件的名字
可以通过如下方法设置setComponent()
, setClass()
, setClassName()
, or with theIntent
constructor
2.Action
就是一独一无二的字符串 表示该intent
当然还有什么Flags Extras Category这些
下面是一个显示intent的例子
// Executed in an Activity, so 'this' is theContext
// The fileUrl is a string URL, such as "http://www.example.com/image.png" Intent downloadIntent = new Intent(this, DownloadService.class); downloadIntent.setData(Uri.parse
(fileUrl)); startService(downloadIntent);
隐式intent 分享的例子
// Create the text message with a string Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage); sendIntent.setType("text/plain"); // Verify that the intent will resolve to an activity if (sendIntent.resolveActivity(getPackageManager()) != null) { startActivity(sendIntent); }
Pending Intent的学习
会用在哪些方面呢 1.Notifycation 2.APP Widget 3.AlarmManager