startActivity(new Intent(Settings.ACTION_SETTINGS));
1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent);
首先分四部曲简单做一下说明 1.What(是什么):Intent类中的一个静态标志属性
很多人使用startActivity时候,会碰到如下的异常: Caused by: android.util.AndroidRuntimeException: Calling startAc
需要添加 <uses-permission id=”android.permission.CALL_PHONE” / 这个权限到androidmanifest.xml
朋友们在开发的时候对Intent肯定并不陌生,下面总结了一下Intent除了用在activity之间的跳转,还可以 在哪些地方使用: 1.显示网页
activity继承了context重载了startActivity方法,如果使用acitvity中的startActivity,不会有任何限制。
14. Call to send text messages of the program :
这是因为kotlin中不能像java那样使用AActivity.this,kotlin无法识别为Context
[代码] 调用拨号程序 // 给移动客服10086拨打电话 Uri uri = Uri.parse("tel:10086"); Intent intent = new Intent(Intent.ACTION_DIAL, uri); startActivity(intent); [代码] 发送短信或彩信 // 给10086发送内容为“Hello”的短信 Uri uri = Uri.parse("smsto:10086"); Intent intent = new Intent(Intent.ACTION_S
我现在需要在点击listview的某个item的时候启动一个activity,因为我的listview不在activity中,所以为了简便我直接用context来调用activity,如下:
地址 简书:http://www.jianshu.com/p/dda2e4cd3d4e CSDN:http://blog.csdn.net/xiangyong_1521/article/details/78616374 ---- 目录 概念 显式Intent打开Activity 隐式Intent打开Activity Intent打开网页 打电话 发短信 发邮件 显示地图与路径规划 播放多媒体 拍照 使用Intent传输数据和使用onActivityResult接收返回的值 ---- 概念 Intent的中文
原代码如下: Intent intent = new Intent(); intent.setClass(mContext, PhotoView.class); Bundle bundle = new Bundle(); intent.putExtras(bundle); mContext.startActivity(intent); 报错如下: 06-28 11:24:40.359: E/AndroidRuntime(7397): android.util.AndroidRuntimeExcepti
任何正式APP都不可能只有一个Activity,当有多个Activity时,怎么从一个Activity进入到另一个Activity呢? 答案就是活动跳转。
调用 startActivity(new Intent()); 方法启动 Activity , 调用方法原型如下 :
activity的启动流程(一) activity的启动流程(二) activity的启动流程(三)
大家好,又见面了,我是你们的朋友全栈君。 Caused by: android.util.AndroidRuntimeException: Calling startActivity() from
/******************************** 下面是viewPager的点击事件 2015-9-14晚10.30点 *********************************/ itemView.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { // TODO 点击跳转的界面 //第一步需要获取该条itemView的新闻id //JSONObject dataObj = (JSONObject) mJsonArray.get(position); TextView idtView =(TextView) view.findViewById(R.id.news_header_id);//找到新闻的id TextView titleView = (TextView)view.findViewById(R.id.news_viewpager_text);//找到对应的标题 Intent intent = new Intent(mContext,News_DetailActivity.class); String id=(String) idtView.getText(); String news_title = (String) titleView.getText(); intent.putExtra("id", id); intent.putExtra("name", news_title); mContext.startActivity(intent); } });
在前面的文章中我们介绍了DroidPlugin的Hook机制,也就是代理方式和Binder Hook;插件框架通过AOP实现了插件使用和开发的透明性。在讲述DroidPlugin如何实现四大组件的插件化之前,有必要说明一下它对ActivityManagerServiche以及PackageManagerService的Hook方式(以下简称AMS,PMS)。
上一篇博客 【Android 性能优化】应用启动优化 ( 安卓应用启动分析 | Launcher 应用简介 | Launcher 应用源码简介 | Launcher 应用快捷方式图标点击方法分析 ) 分析了 Launcher 应用中 Launcher.java 界面代码 , 并分析了图标点击事件 onClick 方法 , 本篇博客继续分析 Launcher 应用中启动普通 Android 应用的源码 ;
根据错误信息的提示,增加FLAG_ACTIVITY_NEW_TASK flag,即可解决问题。 解决方法:
当调用Activity的startActivity方法时,最后会调用 mInstrumentation的execStartActivity方法来完成Activity的开启,而 mInstrumentation是Activity的成员变量,所以是一个很好的Hook点,用代理Instrumentation来替代原始的Instrumentation完成Hook。
Activity应该是我们在日常开发中最熟悉的一个组件了,当我们在应用程序中启动一个新的Activity时,实际上是进行了一系列复杂的操作。本文将尽量以简化的方式梳理Android中startActivity的关键脉络,帮助读者更好地理解Android的Activity管理机制。
2:A页面跳到B页面,再跳到C页面,再跳到A页面时,要求清空B,C页面退出,并且不重走A的生命周期
如题,以下这些编程技巧,可以让代码编写的更清晰,使初学者看起来更像一位老手。让初学者代码看起来老练的技巧,并不是什么奇巧淫技,而是谁都能看得懂、学得会的,很平常的技巧。相反,在代码中为了展示水平而刻意显得与众不同,这是不自信的表现,也是初学者的主要特征之一,反而自爆了初学者的短板。对于初学者,学会这些小技巧足矣。
由上可知,最终是通过ActivityThread里面的mInstrumentation对象来执行execStartActivity,而ActivityThread是在Android APP启动执行Java main方法的时候创建的ActivityThread:
前言 Android Hook 插件化其实已经不是什么新鲜的技术了,不知你有没有想过,支付宝中那么多小软件:淘票票 ,火车票等软件,难道是支付宝这个软件自己编写的吗?那不得写个十年,软件达到几十G,但
如上我们传递了1M大小的数据时,结果程序就一直反复报如下TransactionTooLargeException错误:
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的 Activity / Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
Android页面之间的跳转可以分为几类,比如有A和B两个页面,从A页面直接跳转到B页面,这样的跳转比较简单,或者从A页面跳转到B页面但是需要传送数据。在Android中,页面的跳转离不开Intent。Intent被称为Android页面之间联系的,他能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。Intent主要包含的内容如下: 1.Action 用来指明要实施的动作是什么,比如说ACTION
1. 单个Activity生命周期 * 显示状态——onCreate()、onStart()、onResume() * 隐藏状态——onPause():部分可见、onStop():隐藏,黑屏状态 * 销毁——onDestroy() 2. 多个Activity生命周期交互 * 第一个Activity启动——依次调用onCreate()、onStart()、onResume () * 第二个Activity启动——第一个activity调用onPause (),第二个activity调用onCreate ()、onStart()、onResume(),第一个Activity调用onStop() * 再次返回第一个activity—— 第二个Activity调用onPause ()、第一个Activity调用onRestart():不用再onCreate()、onStart()、onResume ();此时第二个Activity调用onStop()、onDestroy(),此时第二个Activity生命周期结束 3. Activity生命周期交互设计思想 * 例子:当处在音乐播放页面时,此时来电,音乐activity调用onPause (),重写该方法暂停音乐,否则会影响通话; * 另一方面,音乐activity调用onPause ()后,紧接着调用onStop(),电话结束后,再次回到音乐播放页面就是黑屏了 4. 横竖屏切换 * 切换时相当于创建了一个新的Activity,原有的activity生命周期结束 * 切换时,可以通过onSaveInstanceState 方法中Bundle对象保存切换前activity信息,然后在onCreate()的Bundle对象获取 5. Activity生命周期的应用 * onPause ()——添加暂停该页面的其他操作 * onResume ()——当返回页面时,添加恢复原有页面的操作 * onDestroy()——结束该页面时,释放该页面其他操作的资源 6. 启动Activity * 直接启动 * * 只通过Intent——Intent intent=new Intent(one.this, two.class); * 辅以Component——Intent intent=new Intent();ComponentName component=new ComponentName(one.this, two.class); intent.setComponent(component );startActivity(intent); * 匿名启动 * * 在AndroidManifest中对应的activity添加<intent-filter>——》<action android :name=“1”>——》intent.setAction("1");——》startActivity(intent); * 启动系统常见Activity * * 启动浏览器——intent.setAction(Intent.ACTION_VIEW);Uri url=Uri.parse("http://www.imooc.com"); intent.setData(url);startActivity(intent); * 启动相册——intent.setAction(Intent.ACTION_GET_CONTENT);intent.setType(“image/*”);startActivity(intent); * 发送短信——intent.setAction(Intent.ACTION_SEND);intent.setType(“text/plain”);intent.putExtra(Intent.EXTRA_TEXT,"hello !");startActivity(intent); * 打开电话——intent.setAction(Intent.ACTION_VIEW );Uri url=Uri.parse("tel:123456"); intent.setData(url); startActivity(intent); * 其它页面可以通过Android文档查看Intent
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter>元素来过滤。 Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(Component),和扩展信息(Extra)。 Intent在寻找目标组件的时候有两种方法:第一,通过组件名称直接指定;第二,通过Intent Filter
参考学习视频:Android安卓开发30小时从零搞定百度地图(2020安卓开发全套教程)
package com.wps.android; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickLis
函数中添加了FLAG_ACTIVITY_NEW_TASK,并且执行了startActivity函数。
使用代理机制进行API Hook进而达到方法增强是框架的常用手段,比如J2EE框架Spring通过动态代理优雅地实现了AOP编程,极大地提升了Web开发效率;同样,插件框架也广泛使用了代理机制来增强系统API从而达到插件化的目的。本文将带你了解基于动态代理的Hook机制。
下文皆使用Client表示操作的App,Server表示需要被唤起的远端App,Server的包名为“com.jxx.server”
在从0到1实现一个Android路由(2)——URL解析器中,提到过请求拦截,其中有个常见的场景是某个页面是需要登录状态的,那么首先要调到登录页,完成了登录之后再跳转到路由页面,但通常登录页都是跳转到主页面的,这该怎么实现呢?上篇文章中没有解决这个问题,本文主要来解决这个问题。
当我们用一个显式 Intent 去启动组件时,Android 会根据 Intent 对象所提供的 component name 直接找到要启动的组件,当我们用一个隐式的 Intent 去启动组件时,Android 系统就无法直接知道要启动的组件名称了。
在 Instrumentation 中 , 通过调用 ActivityManagerService ( AMS ) 的 startActivity 方法 ,
你好! 我是 Graydalf ,有可能也叫 Gdalf ~ 今天被朋友问到如何设置一个广播来启动一个应用并显示数据,于是将自己了解到的记录下来,有什么较为 DEMO 的地方希望你能留言告诉我,谢谢。
本文实例讲述了Android开发实现的IntentUtil跳转多功能工具类。分享给大家供大家参考,具体如下:
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。
装饰者模式,动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案
小伙伴们,在前面的一系列文章中我们分别介绍了Android视图控件、Android布局、Android四大组件,本文我们单独介绍一下Android中一个非常重要的内容Intent的使用。
插件以APK的形式保存在SD卡上,通过startActivity方式启动Activity需要首先将Activity注册到AndroidManifest.xml,如果没有注册就会出现如下错误。
前言 在几个月前我写了Android深入四大组件(一)应用程序启动过程这篇文章,它是基于Android 7.0的,当我开始阅读Android 8.0源码时发现应用程序(根Activity)启动过程照Android 7.0有了一些变化,因此又写下了本篇文章,本篇文章照此前的文章不仅流程发生变化,而且增加了一些分析,算是升级版本。由于篇幅较长,Android8.0 根Activity启动过程仍旧分为前篇和后篇来进行讲解。 1.概述 Activity的启动过程分为两种,一种是根Activity的启动过程,另一种是
领取专属 10元无门槛券
手把手带您无忧上云