intent

IntentFilter,PendingIntent

落花浮王杯 提交于 2020-03-27 06:08:16
1.当Intent在组件间传递时,组件如果想告知Android系统自己能够响应那些Intent,那么就需要用到IntentFilter对象。 IntentFilter对象负责过滤掉组件无法响应和处理的Intent,只讲自己关心的Intent接收进行处理,IntentFilter实行“白名单”管理,几只列出组件乐意接受的Intent,但IntentFilter只会过滤隐式Intent,显示的Intent会直接传送到目标组件,Android组件可以有一个或多个IntentFilter,每个IntentFilter之间相互独立,只需要其中一个验证通过即可。除了用户过滤广播的IntentFilter可以在代码中创建外,其他的IntentFilter必须在AndroidManifest.xml文件中进行声明。 2.要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int) , getBroadcast(Context, int, Intent, int) , getService(Context, int, Intent, int) 分别对应着Intent的3个行为,跳转到一个activity组件、打开一个广播组件和打开一个服务组件。 参数有4个,比较重要的事第三个和第一个,其次是第四个和第二个。可以看到

Flutter插件开发例子分享到facebook和twitter

十年热恋 提交于 2020-03-26 16:50:25
https://segmentfault.com/a/1190000018806329 请看原文更详细: http://tryenough.com/flutter-plugin-share 这个活生生的例子会教你开发flutter插件,功能是封装Android和iOS端的分享到facebook和twitter的flutter接口。使用的分别是两端的系统分享功能,不需要集成facebook和twitter 的 sdk。 例子插件网址: https://pub.dartlang.org/packages/flutter_share_go#-readme-tab- 展示一下样式: ios 中分享到facebook: android中分享到facebook 请看原文更详细: http://tryenough.com/flutter-plugin-share 开始开发插件 步骤一:创建插件项目 这里用的Android studio创建的项目,可以直接创建flutter plugin项目,你也可以用命令创建: flutter create --org com.example --template=plugin "plugin_name" 将上面的“plugin_name”换成你的插件名字就行了,我这个插件名字叫flutter_share_go,所以命令就是: flutter create -

AndroidManifest.xml 文件解读

坚强是说给别人听的谎言 提交于 2020-03-26 15:32:47
一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试) 二、AndroidManifest.xml结构 <?xmlversion="1.0"encoding="utf-8"?> <manifest> <application> <activity> <intent-filter> <action/> <category/> </intent-filter> </activity> <activity-alias> <intent-filter></intent-filter> <meta-data/> </activity-alias> <service> <intent-filter></intent-filter> <meta-data/> </service> <receiver> <intent-filter></intent

Intent详解

不羁的心 提交于 2020-03-24 00:24:22
1、什么是Intent Android提供了Intent机制来协助应用建的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity,service和broadcast receiver之间的交互,intent这个词本意是“目的、意向、意图”。 Intent是一种运行时绑定(runtime binding)机制,他能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或意愿,Android会根据意愿的内容选择适当的组件来响应。 对于像这三种组件发送intent有不同的机制: 使用Context.startActivity()或Activity.startActivityForResult(),传入一个intent来启动一个activity。 使用Activity.setResult(),传入一个intent来从activity中返回结果 将intent对象传给Context.startService()来启动一个service或者传消息给一个运行的service。 将intent对象传给Context.bindService()来绑定一个service。 将intent对象传给Context.sendBroadcast(),Context.sendOrderedBroadcast()

安卓跳转页面,并在页面之间传值

岁酱吖の 提交于 2020-03-23 18:56:38
在原界面里创建Intent的添加数据,以及需要跳转的界面 //点击按钮进行页面的跳转 btnToA01.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //获取电话号码 String strtel = ""; strtel = etTel.getText().toString(); //获取短信内容 String strSMS = ""; strSMS = editMes.getText().toString(); //初始化Intent对象,并把需要传递的数据放到intent中 Intent intent = new Intent(MainActivity.this,A02Activity.class); intent.putExtra("Tel",strtel); intent.putExtra("Sms",strSMS); startActivity(intent); } }); 在需要跳转的界面: protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout

Android 底部菜单栏实现

落爺英雄遲暮 提交于 2020-03-21 21:21:51
3 月,跳不动了?>>> 虽然网上有很多底部菜单栏的实现方式,但是实现方式各种各样,很多也不符合自己的口味,所以还是总结下底部菜单栏的实现方式,以便以后方便查询使用 实现方式一:通过TabWidget实现 这种方式主要是在布局中将TabWidget标签嵌套在RelativeLayout中,并且在TabWidget标签中中设置 android:layout_alignParentBottom="true" 另外,下划线和选项卡之间的线去除的方法时在TabWidget标签中设置属性android:tabStripEnabled="false" main.xml <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id=" @android :id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:id=" @android :id/tabcontent" android:layout_width=

Intent详解

喜你入骨 提交于 2020-03-21 06:34:36
1、Intent的概念: Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。Intent这个英语单词的本意是“目的、意向、意图”。 Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。 activity、service和broadcast receiver之间是通过Intent进行通信的,而另外一个组件Content Provider本身就是一种通信机制,不需要通过Intent。我们来看下面这个图就知道了: 如果Activity1需要和Activity2进行联系,二者不需要直接联系,而是通过Intent作为桥梁。通俗来讲,Intnet类似于中介、媒婆的角色。 2、对于向这三种组件发送intent有不同的机制: 使用Context.startActivity() 或 Activity.startActivityForResult(),传入一个intent来启动一个activity。使用 Activity.setResult()

Android开发中蓝牙应用开发

ε祈祈猫儿з 提交于 2020-03-21 05:50:29
安卓开发中蓝牙应用也是比较常见的,那么现在整理下了蓝牙开发中的应用,现在来看安卓蓝牙开发浅析:   1. 使用蓝牙的响应权限   <uses-permission android:name="android.permission.BLUETOOTH" />   <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />   2. 配置本机蓝牙模块   在这里首先要了解对蓝牙操作一个核心类BluetoothAdapter   BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();   //直接打开系统的蓝牙设置面板   Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);   startActivityForResult(intent, 0x1);   //直接打开蓝牙   adapter.enable();   //关闭蓝牙   adapter.disable();   //打开本机的蓝牙发现功能(默认打开120秒,可以将时间最多延长至300秒)   discoverableIntent.putExtra(BluetoothAdapter.EXTRA

Android应用程序组件介绍

廉价感情. 提交于 2020-03-19 19:01:02
应用程序组件是 Android 应用程序的基本构建单元。每个组件是系统进入你的应用程序的不同入口点。不是所有的组件对于用户都是实际上的入口点,有些是互相依赖的,但是每个组件都有特定的作用——每个都是唯一的构建单元,这些构建单元定义你应用程序的全部行为 有四种不同类型的应用程序组件。每种都有不同的用处并且有不同的生命周期。生命周期定义了他们是怎样被创建和销毁的。 四类不同的应用程序组件分别有: Activities 一个 Activity 代表一个单独的拥有用户界面的屏幕。比如,一个邮件应用程序可能拥有一个显示新邮件的列表的 Activity ,一个编写邮件的 Activity ,一个读邮件的 Activity 。虽然这些 Activity 一起工作,但是他们是相互独立的。因此一个不同的应用程序也可以启动这些 Activity 中的任何一个(如果邮件应用程序允许的话)。比如一个摄像头应用程序为了能让用户分享一张图片它能启动邮件应用程序中的编写邮件的 Activity 。 一个 Activity 是由 Activity 类的子类来实现的。 Services 一个 Service 组件是运行在后台的一个进程,这个进程处理一个长时间的操作或者是一个远程调用。一个 Service 不需要提供一个用户界面。比如,一个 Service 可以在用户运行一个不同程序的同时在后台播放音乐

跨进程通信之Activity篇

半城伤御伤魂 提交于 2020-03-18 17:01:56
某厂面试归来,发现自己落伍了!>>> 方法一:使用ComponentName实现跨进程 ComponentName componentName=new ComponentName("com.example.vvgool","com.example.vvgool.MainActivity"); intent.setComponent(componentName); startActivity(intent); 需要注意的是:在调用启动activity的时候这样不修改所调用的应用是没问题的,但是如果调用应用的非启动activity问题就来了,错误提示:需要权限,所以说在调用应用为非启动activity的时候需要在androidManifest.xml中所在声明activity中加入android:exported="true"这样就可以了。 方法二:指定Action实现跨进程 修改androidManifest.xml ,在需要调用activity中加入 <intent-filter> <action android:name="main"></action> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter> 这里action 中的name你就自己写吧。。 调用代码