简介 Android开发中,Activity,Service 和 BroadcastReceiver 启动有两种方式,显示启动和隐式启动. 为方便下面描述,我以Activity启动为例. 显示启动便是直接指定上下文和启动的Activity的类: Intent intent = new Intent(this,Activity.class); startActivity(intent); 隐式启动则灵活的多,通过action,category 和 data 的组合,实现多种匹配方法来启动Activ…
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 本篇文章,对隐式启动Activity再做分析. 有些人可能会说了,隐式启动活动不是很简单吗?这有什么不理解的?话先别说的这么早,对于隐式启动,还是具有很大的坑要爬的,当然,您如果是一个资深开发者就另当别论了. 本篇文章,我们从最简单的开始,一步步引入,相信这样的方式,读起来也会轻松一些. 我们平时启动一个活动,会通过两种方式.1.显示启动:2.隐式启动. (一)首…
使用隐式Intent时,需要使用到意图过滤器Intent-filter.Intent-filter含有三个属性:action,category,data.通过这三个属性的组合,可以启动想要启动的activity,service或者broadcast receiver,同时过滤掉那些没有意义的组件. action,一个Intent-filter最少含有一个action元素,没有action的intent,无法启动 <action android:name="android.intent.ac…
1.当你在androidmanifest里面定义了一个或多个action时 你使用隐式意图其他activity或者service时,规定你隐式里面的action必须匹配XML中定义的action,可以只匹配XML文件一个就行 2.当你在androidmanifest里面定义了一个或多个category时 规定你的代码中可以没有category,但是XML中要加上"android.intent.category.DEFAULT"这句 如果你在代码中定义了一个或者多个category,那么…
1.当你在androidmanifest里面定义了一个或多个action时 你使用隐式意图其他activity或者service时,规定你隐式里面的action必须匹配XML中定义的action,可以只匹配XML文件一个就行 2.当你在androidmanifest里面定义了一个或多个category时 规定你的代码中可以没有category,但是XML中要加上"android.intent.category.DEFAULT"这句 如果你在代码中定义了一个或者多个category,那么…
1.显式启动Intent intent = new Intent(this, class);startActivity(intent); 2.隐式启动AndroidManifest.xml中定义某个Activity的intent-fliter<intent-filter><action android:name="com.example.activity.ACTION_START" /><category android:name="androi…
隐藏APP桌面图标 <activity android:name=".LaunchActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <data android:host="LaunchActivity" android:scheme="com.tuobang.xsfx" too…
Android 隐式intent相信大家都有用过,大部分场景我们用显式intent已经能满足我们的业务需求,隐式intent大部分都是用来启动系统自带的Activity或Service之类的组件.昨天有个业务场景就是,module app依赖于第三方依赖库module library,我在module library里面有个Activity A,现在需要在Activity A里面启动 module app里面的Activity B.一般的解决方法是:让module library依赖于modul…
Android的Acitivity启动大致有两种方式:显式启动与隐式启动.下面分别介绍: 1.显示启动: 清单文件注册Activity <activity android:name="com.example.intentmethod.XianshiActivity" android:label="@string/xianshi_label" > </activity> 启动方法: Intent intent = new Intent(Main…
Intent intent = new Intent(); intent.setAction("com.viaembedded.veonvif.RemoteService");//Android5.0后service不能采用隐式启动,故此处加上包名 intent.setPackage("com.example.oscarzhou.nvrmanagerapp");// bindService(intent, serConn, BIND_AUTO_CREATE); 注意…