`
地球小野花
  • 浏览: 161843 次
  • 性别: Icon_minigender_1
  • 来自: 马赛大回旋
社区版块
存档分类
最新评论

Intent这个东西

 
阅读更多

Intent这个东西

 

 

Intent学名:意图,主要用于android应用的各个组件之间的通讯。它包含发生请求的组件中的一组信息送给被请求的对象。你可以想象它是快递员,它携带了各中“物件“给客户。

要寄快递,我们得先打电话。拿起你的Android手机,按下拨号键盘的时候你的android手机做了些什么?“意图“有用吗?

 

按下按键这个动作后

    public void dialButtonPressed() {
        if (isDigitsEmpty()) { // No number entered.
            handleDialButtonClickWithEmptyDigits();
        } else {
            final String number = mDigits.getText().toString();

            // "persist.radio.otaspdial" is a temporary hack needed for one carrier's automated
            // test equipment.
            // TODO: clean it up.
            if (number != null
                    && !TextUtils.isEmpty(mProhibitedPhoneNumberRegexp)
                    && number.matches(mProhibitedPhoneNumberRegexp)
                    && (SystemProperties.getInt("persist.radio.otaspdial", 0) != 1)) {
                Log.i(TAG, "The phone number is prohibited explicitly by a rule.");
                if (getActivity() != null) {
                    DialogFragment dialogFragment = ErrorDialogFragment.newInstance(
                            R.string.dialog_phone_call_prohibited_message);
                    dialogFragment.show(getFragmentManager(), "phone_prohibited_dialog");
                }

                // Clear the digits just in case.
                mDigits.getText().clear();
            } else {
		// 省略前面100字,看这里已经叫到“快递员“Intent了,快递员拿着电话号码“number“ 去送给DialtactsActivity.EXTRA_CALL_ORIGIN这个家伙
                final Intent intent = ContactsUtils.getCallIntent(number, /*s1*/
                        (getActivity() instanceof DialtactsActivity ?
                                ((DialtactsActivity)getActivity()).getCallOrigin() : null));
                startActivity(intent);
                mClearDigitsOnStop = true;
                getActivity().finish();
            }
        }
    }
	

    public static Intent getCallIntent(String number, String callOrigin) {/*s2*/
        return getCallIntent(getCallUri(number), callOrigin);
    }


    public static Intent getCallIntent(Uri uri, String callOrigin) {/*s3*/
        final Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED, uri);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        if (callOrigin != null) {
            intent.putExtra(DialtactsActivity.EXTRA_CALL_ORIGIN, callOrigin);
        }
        return intent;
    }

 

完成了一次送递!

哦!Intent原来就是这样用。温故而之新,这也是启动Activity的例子。其实Intent不但可以启动Activity,他还可以启动Service 、Broadcast 这些组建。

小结一下:

intnet 勾搭了 activity  方式:startActivity() ,startActivityForResult()

intnet 勾搭了 service   方式:startService() ,bindService()

intnet 勾搭了 broadcast 方式: sendBroadcast(), sendOrderedBroadcast(), or sendStickyBroadcast()

分享到:
评论

相关推荐

    android的小东西 intent

    android小练习 activity intent 什么的 很简单的小例子 上传为了自己下载

    Android使用Intent获取联系人信息

    intent是一个好东西 他可以启动Activity还可以回调数据 调用各种数据,联系人等等 进程之间可以接收同一个intent 三大组件的桥梁 解释一下为什么是三大组件吧,都知道四大组件分别是Activity,Service,...

    Android Intent的几种用法详细解析

    Intent应该算是Android中特有的东西。你可以在Intent中指定程序要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料。都指定好后,只要调用startActivity(),Android系统会自动寻找最符合你...

    Android无需root实现apk的静默安装

    Android的静默安装似乎是一个很有趣很诱人的东西,但是,用普通做法,如果手机没有root权限的话,似乎很难实现静默安装,因为Android并不提供显示的Intent调用,一般是通过以下方式安装apk: Intent intent = new ...

    automation:使用Amazon Echo进行家庭自动化的Intent框架

    家庭自动化使用Amazon Echo,Z-wave设备,Raspberry Pis,Kodi以及我周围放置的其他任何东西进行家庭自动化的意图框架。Alexa设置如果您还没有上的帐户,则需要创建一个帐户。 转到 ,然后单击按钮以添加新技能。 ...

    phonegap-receive-intent:测试一些东西

    试图让 phonegap 应用程序接收 android 发送意图脚步创建默认的cordova应用程序使用cordova plugin add添加插件(需要吗?) 将插件添加到 config.xml 将 webintent.js 添加到 www/js/ 将 webintent.js 的引用添加到...

    萌新Android笔记—-IntentFilter匹配篇

    但萌新突出一个莽字,不知道的东西就冲塔搞他。。首先我们萌新知道的启动activity分为两种,显式调用和隐式调用。原则上一个Intent不能即是显式调用又是隐式调用,两者真共存的话以显式调用为主。 显式调用: 需要...

    android的服务

    之前我们看到Service中有个返回IBinder对象的onBind方法,这个方法会在Service被绑定到其他程序上时被调用,而这个IBinder对象和之前看到的onServiceConnected方法中传入的那个IBinder是同一个东西。应用和Service间...

    新版Android开发教程.rar

    Android 进一步推进了 " 随时随地为每个人提供信息 " 这一企 业 目标的实现。 � Open Handset Alliance 汇集了多家业界巨头。运营商如: China Mobile 、 NTT DoCoMo 、 Vodafone 、 T-M obile 等;设备制造商如 ...

    Android代码-Float-Bar

    Float-Bar ...关于辅助功能这个东西网上的说明少的可怜,只能通过看Android官方系统新特性获得,这里说明下如何用系统的辅助功能来实现模拟操作。 1.注册 service必须按照规定注册 这里写上了权限

    activity 一些小东西哦

    一些activity的小知识 包括android生命周期,intent传递等。 博客有

    HarmonyOS核心概念

    做什么以及对什么东西做。 当然, 对于一个复杂应用, 不会只有一个可视化页 面, 会包含承载很多功能的显示处理模块, 这些功能模块需要进行跳转切换。 通过本章内容的学习, 您能够理解Ability的核心理念, 熟悉...

    Android实现九宫格手势解锁

    里面有关于这个东西的介绍和接入方式,这里就不累赘了,我只是说下里面没有的。 关于这个库的使用: protected void initViews() { //设置模式 LockMode lockMode = (LockMode) getIntent().getSerializableExtra...

    java常用设计模式

    简单的设计意味着缺少灵活性,代码很钢硬,只在这个项目里有用,拿到其它的项目中就是垃圾,我将其称之为“一次性代码”。 -->要使代码可被反复使用,请用'设计模式'对你的代码进行设计. 很多我所认识的程序员在...

    《Android应用开发》个人总结报告.doc

    《Android应用开发》个人总结报告 刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构 ,更加方便,视觉上也是非常的酷,在前期我通过的...个人觉得Tip也是一个比较重要的东西, 但目前观察

    Google Android SDK开发范例大全(完整版)

    如果电炉上有一个 Android UI,那么操控者甚至可以烹饪点什么东西。 在本文中,了解 Android 平台,以及如何将它用于移动和非移动应用程序。安装 Android SDK,并构建一个简单的应用程序。下载 本文中的示例应用...

    2-21 第1周总结

    这个假期过得超级舒服,因为疫情的原因连拜年也省了呢(^ ▽ ^),每天大胆地发呆连划水都不用了。 寒假里面主要是在学一些乱七八糟的东西,比如PS,Linux,逆向啥的,当然也有在学习Android和Java。 Android算是实践...

    android Jsoup获取网站内容 android获取新闻标题实例

    近期做简单的新闻客户端界面使用到了Jsoup获取,使用起来特别方便,这也是被我一个学长称为学android网络必学的一个东西,在此也是分享一下自己近期所学。 首先还是给出效果: 上面是通过textview显示的一个从网站...

    android开发入门与实战(下)

    9.1.2 用Intent启动一个新的Activity 9.1.3 Intent详细讲解 9.1.4 Android解析Intent实现 9.2 用广播告诉你——利用Intent来广播(BroadCast)事件 9.2.1 实现Android中的广播事件 9.2.2 BroadCastReceiver介绍 9.3 ...

    android开发入门与实战(上)

    9.1.2 用Intent启动一个新的Activity 9.1.3 Intent详细讲解 9.1.4 Android解析Intent实现 9.2 用广播告诉你——利用Intent来广播(BroadCast)事件 9.2.1 实现Android中的广播事件 9.2.2 BroadCastReceiver介绍 9.3 ...

Global site tag (gtag.js) - Google Analytics