intent

Android开发指南-框架主题-基础知识

谁都会走 提交于 2019-12-05 04:44:03
应用程序基础 关键类 Activity Service BroadcastReceiver ContentProvider Intent Android应用程序使用Java做为开发语言。aapt工具把编译后的Java代码连同其它应用程序需要的数据和资源文件一起打包到一个Android包文件中,这个文件使用.apk做为扩展名,它是分发应用程序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备。单一.apk文件中的所有代码被认为是一个应用程序。 从很多方面来看,每个Android应用程序都存在于它自己的世界之中: 默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任意代码开始执行时,Android启动一个进程,而当不再需要此进程而其它应用程序又需要系统资源时,则关闭这个进程。 每个进程都运行于自己的Java虚拟机(VM)中。所以应用程序代码实际上与其它应用程序的代码是隔绝的。 默认情况下,每个应用程序均被赋予一个唯一的Linux用户ID,并加以权限设置,使得应用程序的文件仅对这个用户、这个应用程序可见。当然,也有其它的方法使得这些文件同样能为别的应用程序所访问。 使两个应用程序共有同一个用户ID是可行的,这种情况下他们可以看到彼此的文件。从系统资源维护的角度来看,拥有同一个ID的应用程序也将在运行时使用同一个Linux进程,以及同一个虚拟机。

Unity Android 打开相册和摄像头

人走茶凉 提交于 2019-12-05 02:49:42
来源: https://blog.csdn.net/qweewqpkn/article/details/84141614 需求:要实现打开手机的相册和摄像头,选择照片或者拍照后,在unity进行。 1.android插件 我使用的是AndroidStuido来写插件,下面是一步步介绍流程 (1)创建android工程 注意红框里面的东西,要修改两个地方: 1.将com.android.application 改为 com.android.library 2.将applicationId "com.niko.myunityplugin" 删除掉 删除掉这两个目录,不需要他们 (2)加入我们要依赖的unity的jar包,它的路径在: C:\Program Files\Unity5.6.4p3\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 然后将他放到我们的android工程下的libs目录下,如下图: 此时还要让工程知道它的存在,所以我们要: 注意:红框选择的是Compile only, 而不是Implemetation,这样选择的原因是最后我们打包出来的aar文件将不会包含这个jar包,如果使用Implemetation 将会把这个jar放到最后打出来的aar包中,我们得手动删除掉

Unity头像上传功能实现 一(接在《Unity调用Andriod相册,细节分享》后)

前提是你 提交于 2019-12-05 02:43:47
来源: https://blog.csdn.net/cscscs007/article/details/79633004 2018-06-01 后面由于要接入微信登录/支付、支付宝支付这些东西,原来在MainActivity中实现这些逻辑明显不太好了,于是将这个类重新整理了一下,方便后续添加其他接口 GitHub地址: https://github.com/alexchenc/unityplugins 前段时间需要做一个头像上传功能,参考了一些资料后总算是弄了出来。 首先感谢其他博主们的分享: Unity3D研究院之打开照相机与本地相册进行裁剪显示(三十三) Unity3d本地上传并且裁剪图片—–Android平台 1. 新建安卓项目 新建一个Android项目,我这里用的是Idea(Eclipse的安卓插件一直弄不好然后放弃了),第一次建要好长时间下载插件,耐心等一下。 Application name: 自己随意命名一个。 Company Domain: 也是自己命名。 Package name: 点击右边Edit,自己修改包名。此处包名需要和Unity项目中打包的包名相同 1 2 3 这是Unity项目中的设置。包名与AndroidAPI版本 下一步,选择最低版本API。版本越低兼容越好,这里我选的是4.1,与Unity中保持的一致。 下一步,创建Activity

Android中的定时器AlarmManager

百般思念 提交于 2019-12-05 02:36:21
在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent,常用方法有五个: (1)set(int type,long startTime,PendingIntent pi); 该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作。 (2)setRepeating(int type,long startTime,long intervalTime,PendingIntent pi); 该方法用于设置重复闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟首次执行时间,第三个参数表示闹钟两次执行的间隔时间,第四个参数表示闹钟响应动作。类似JAVA的Timer里面scheduleAtFixedRate(TimerTask task, long delay, long period):在反复执行一个task的计划时,每一次 执行这个task的计划执行时间在最初就被定下来了,也就是scheduledExecutionTime(第n次)=firstExecuteTime +n

Android WIFI 详解

荒凉一梦 提交于 2019-12-05 01:18:54
最 近研究Wifi模块,查了不少的相关资料,但发现基本上是基于android2.0版本的的分析,而现在研发的android移动平台基本上都是2.3的 版本,跟2.0版本的差别,在Wifi模块上也是显而易见的。2.3版本Wifi模块没有了WifiLayer,之前的WifiLayer主要负责一些复 杂的Wifi功能,如AP选择等以提供给用户自定义,而新的版本里面的这块内容基本上被WifiSettings所代替。 本文就是基于android2.3版本的Wifi分析,主要分为两部分来分别说明: (1) Wifi模块相关文件的解析 (2) Wpa_supplicant解析 (3) Wifi的启动流程(有代码供参考分析) 一,Wifi模块相关文件解析 1) wifisettings.java packages/apps/Settings/src/com/android/settings/wifiwifisettings.java 该类数据部分主要定义了下面几个类的变量: { private final IntentFilter mFilter; //广播接收器,用来接收消息并做响应的处理工作 privatefinal BroadcastReceiver mReceiver; //这是一个扫描类,会在用户手动扫描 AP时被调用 privatefinal Scanner mScanner;

Android扫描条形码实现

♀尐吖头ヾ 提交于 2019-12-04 19:20:48
扫描和识别条形码的android支持库 android支持扫描条形码。不过手里没有真机,无法理解该功能是一个应用,还是一个可API调用的功能。不过在网上找到一个免费开源的android处理条形码的库。见: http://code.google.com/p/zxing 可以作为应用安装到android上,见: http://code.google.com/p/zxing/wiki/GettingStarted 或者,在另外的程序中使用该功能: http://code.google.com/p/zxing/wiki/ScanningViaIntent 编写最简单的android扫描条形码功能 已经有java的第三方开源条形码识别库(zxing)了,在自己的应用中扫描条形码实际上只需调用该第三方库的实现即可。写 扫描和识别条形码的android支持库 的时候还没有g1手机,现在可以试试了。 为了能调用zxing,需要先安装google market中的barcode scanner: 为了能调用zxing,需要先安装google market中的barcode scanner: ‍ 程序很简陋,第一个界面: ‍ 第二个界面,跳到了zxing库提供的Activity去做条形码扫描,这里扫描的是 生成QR二维条码 中的本站url。 ‍ qr码瞬间就可以识别到

Android中Intent的深入理解

拟墨画扇 提交于 2019-12-04 16:08:48
Intent中文翻译过来是意图,但更合理的意思是消息传递器。 1.Intent在Android中是如何运行的呢? 作为 消息传递器,首先的具备 “装载”和 “卸载”消息的能力,在Android源代码中,Intent其实是用了普通消息包裹(Buddle)来装载数据。 代码来自android.content.Intent.class public Intent putExtra(String name, CharSequence value) { if (mExtras == null) { mExtras = new Bundle(); //这是普通消息包裹 } mExtras.putCharSequence(name, value); return this;//这是一个不错的发现哦 } //添加额外数据,可以无限制是用 public Intent putExtra(String name, Bundle value) { if (mExtras == null) { mExtras = new Bundle(); } mExtras.putBundle(name, value); return this; } //这里是读取部分(卸载) public String getStringExtra(String name) { return mExtras == null ?

Intent Filter匹配原则

纵然是瞬间 提交于 2019-12-04 16:08:37
应用程序的组件为了告诉Android自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个Intent Filter。每个Intent Filter描述该组件所能响应Intent请求的能力——组件希望接收什么类型的请求行为,什么类型的请求数据。比如之前请求网页浏览器这个例子中,网 页浏览器程序的Intent Filter就应该声明它所希望接收的Intent Action是WEB_SEARCH_ACTION,以及与之相关的请求数据是网页地址URI格式。如何为组件声明自己的Intent Filter? 常见的方法是在AndroidManifest.xml文件中用属性<Intent-Filter>描述组件的Intent Filter。 前面我们提到,隐式Intent( Explicit Intents )和Intent Filter( Implicit Intents )进行比较时的三要素是Intent的动作、数据以及类别。实际上,一个隐式Intent请求要能够传递给目标组件,必要通过这三个方面的检查。如果任何一方面不匹配,Android都不会将该隐式Intent传递给目标组件。接下来我们讲解这三方面检查的具体规则。 1.动作测试 <intent-filter>元素中可以包括子元素<action>,比如: <intent-filter> <action android:name=

深入理解 intent (1)

拜拜、爱过 提交于 2019-12-04 16:08:27
一. 使用Internt 连接activity 1.创建 intent 用下面的构造方法 Intent.Intent(Context packgeContext ,Class <?> cls ); 或者先构造 一个未指向 的intent,再用下面方法 Intent.getClass(Context packageContext,Class <?> cls); 2.调用 Intent Activity.startActivity( Intent intent); 如果 想下一个Activity时返回原来 的activity ,则 Activity.startActivityForResult (Intent intent ,int requestCode ); note :应用中的activity都要在 manifest文件中注册。 二. 使用activity传递数据 1. 在第一个activity中存入 数据 , Intent.putExra( String name ,String value ); name value 类似于键 值对应的,如HashMap ,name =key。不过这里它们的类型是Bundle(专门为activity面设计 的,本质 是 HashMap的再封装。 2.在目标activity中取出intent中的值 先用getIntent()

Android组件通讯与广播消息(2)—Intent 启动 Activity

别说谁变了你拦得住时间么 提交于 2019-12-04 16:08:13
在Android系统中,应用程序一般有多个 Activity, Intent 可以实现不同 Activity 之间的切换和数据传递。 显式启动 显式启动需要在 Intent 中指明启动的 Activity 所在的类。 关键代码: //1.创建一个 Intent,并为它指定当前程序的上下文,以及要启动的 Activity Intent intent = new Intent(SplashActivity.this,MainActivity.class); //2.把创建好的 Intent作为参数传递给 startActivity()方法 startActivity(intent); 可将上述代码,放到事件监听的响应代码里,实现控制从一个 Activity 启动新的 Activity。 隐式启动 隐式启动不需要指明启动哪一个 Activity ,而由系统来决定。 选择隐式启动 Activity,Android 系统会在程序运行时解析 Intent,并根据一定的规则对 Intent 和 Activity 进行匹配,使 Intent 上的动作、数据与 Activity 完全吻合。//匹配的组件可以是程序本身的 Activity,也可以是 Android 内置的 Activity,还可以是第三方应用程序提供的 Activity。 关键代码: //Intent构造函数第一个参数是 Intent