intent

安卓-获取U盘的路径

拜拜、爱过 提交于 2019-12-05 20:01:35
方法1: filter = new IntentFilter(); filter.addAction(Intent.ACTION_MEDIA_EJECT); filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); filter.addAction(Intent.ACTION_MEDIA_MOUNTED); filter.addDataScheme( "file" ); registerReceiver(mediaReceiver, filter); private BroadcastReceiver mediaReceiver = new BroadcastReceiver() { @Override public void onReceive (Context context, Intent intent) { String action = intent.getAction(); **intent.getDataString(); //得到的就有U盘的路径** if (action == null ) return ; if (Intent.ACTION_MEDIA_EJECT.equals(action) || Intent.ACTION_MEDIA_UNMOUNTED.equals(action)) { ); } else if

Android8.0中获取U盘的各种信息

我与影子孤独终老i 提交于 2019-12-05 18:34:11
权限 首先获取U盘信息,我们需要在androidmanifest.xml中添加以下权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <?xml version= "1.0" encoding= "utf-8" ?> <manifest xmlns:android= "http://schemas.android.com/apk/res/android" package = "com.changhong.usbbroadcast" > <uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name= "android.permission.READ_EXTERNAL_STORAGE" /> <application android:allowBackup= "true" android:icon= "@mipmap/ic_launcher" android:label= "

android 调用百度地图客户端,

人走茶凉 提交于 2019-12-05 18:19:25
以前都是使用百度API在软件里面做一个百度地图出来这样感觉既浪费时间又浪费精力,这里就教大家直接使用Intent的方式调用手机上安装的百度地图客户端,访问我们所需要的路径规划等, //调起百度地图客户端 try { intent = Intent.getIntent("intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving®ion=西安&referer=Autohome|GasStation#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); if(isInstallByread("com.baidu.BaiduMap")){ startActivity(intent); //启动调用 Log.e("GasStation", "百度地图客户端已经安装") ; }else{ Log.e("GasStation", "没有安装百度地图客户端") ; } } catch (URISyntaxException e) { e.printStackTrace(); } 但是,若客户端没有安装了百度地图客户端就会报 No Activity.... 直接会导致程序挂掉

Android Intent机制实例详解(Activity篇)

本小妞迷上赌 提交于 2019-12-05 13:04:10
Android Intent机制实例详解(Activity篇) Android 中提供了 Intent 机制来协助应用间的交互与通讯,或者采用更准确的说法 是, Intent 不仅可用于应用程序之间,也可用于应用程序内部的 Activity/Service 之间的交互。 Intent 这个英语单词的本意是“目的、意向”等,对于较少从事 于大型平台开发工作的程序员来说, 这可能 是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数 / 方法调用,或者上节中提到的通过库调用接口的方式不太一样。在 Intent 的使用中你看不到直接的函数调用,相对函数调用来说, Intent 是更为抽象的概念,利用 Intent 所实现的软件复用的粒度是 Activity/Service ,比函数复用更高一些,另外耦合也更为松散。 Android 中与 Intent 相关的还有 Action/Category 及 Intent Filter 等,另外还有用于广播的 Intent ,这些元素掺杂在一起,导致初学者不太容易迅速掌握 Intent 的用法。在讲解这些名词之前,我们先来从下面的例子中 感受一下 Intent 的一些基本用法,看看它能做些什么,之后再来思考这种机制背后的意义。 理解 Intent 的关键之一是理解清楚 Intent 的两种基本用法:一种是显式的 Intent ,即在构造

[Android] IntentFilter-->Action、Category属性详解

醉酒当歌 提交于 2019-12-05 13:02:45
如果一个 Intent 请求在一片数据上执行一个动作, Android 如何知道哪个应用程序(和组件)能用来响应这个请求呢? Intent Filter就是 用来注册 Activity 、 Service 和 Broadcast Receiver 具有能在某种数据上执行一个动作的能力。 使用 Intent Filter ,应用程序组件告诉 Android ,它们能为其它程序的组件的动作请求提供服务,包括同一个程序的组件、本地的或第三方的应用程序。 为了注册一个应用程序组件为 Intent 处理者,在组件的 manifest 节点添加一个 intent-filter 标签。 在 Intent Filter 节点里使用下面的标签(关联属性),你能指定组件支持的动作、种类和数据。 1、动作测试: <activity android:name="com.x210.intentfilters.OneActivity" android:label="oneActivity"> <intent-filter> <action android:name="myapp.action.test1" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 规则a.一条

通过Intent传递类对象

两盒软妹~` 提交于 2019-12-05 13:01:52
一、Intent是什么 1、定义 Intent被译作意图,其实还是很能传神的,Intent期望做到的,就是把实现者和调用者完全解耦,调用者专心将以意图描述清晰,发送出去,就可以梦想成真,达到目的。 这 个解释还是有点不太好理解,下面还有一个:Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android 会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出 WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的 IntentFilter,找到网页浏览器的Activity来浏览网页。 这个解释好像理解起来就容易好多,我们通过intent传入某种意图,而android就会根据这种意图,自动寻找合适的activity来启动,如果有 多个条件符合的activity,就以列表的方式让用户手动选择一个。 2、 显示Intent与 隐式I ntent 这两个概念刚开始不太好理解,先看两个通过intent启动activity的代码: 例一: Intent intent = new Intent(); intent

Intent resolution

佐手、 提交于 2019-12-05 13:01:39
Intent resolution,是指Android系统如何将一个intent请求匹配到一个已经在系统中注册的组件的(activity,service,broadcast receiver)。根据《Unlocking Android》书中描述,intent解析有两个最基本的原则: 1、The action and category must match. 2、If specified, the data type must match, or the combination of data scheme and authority and path must match. 一般情况下,intent-filter中只要包含action和category就足以满足很多需求。在实际解析过程中,如果一个组件的intent-filter中没有声明任何action,那么任何intent都能与该组件的action相匹配;但是如果一个intent-filter中没有声明任何category,那么这个组件只能与没有指定任何category的intent相匹配。需要注意的是:在隐式调用activity时,系统会自动给intent中加入android.intent.category.DEFAULT的category,所以如果一个intent

IntentService类 和 异步任务(AsyncTask)

£可爱£侵袭症+ 提交于 2019-12-05 08:27:04
IntentService是一个Service类。 IntentService只有1个带String参数的构造方法,所以,在自定义类继承IntentService时,需要在自定义类中显式的调用IntentService带参数的构造方法,并且将自定义类的构造方法修改为无参数的。 IntentService内部使用消息机制,利用消息队列的特性,可以依次处理多个耗时操作。 IntentService具有生命力强、一次性使用、依次处理多个耗时操作的特性。 注意:在自定义类继承IntentService时,可以重写IntentService的生命周期方法,但是,不可以删除super语句 IntentService与ResultReceiver ---------------------------------- ResultReceiver可以实现组件间的通信 【开发流程】 1. 自定义类继承IntentService,显式的定义无参数的构造方法,并注册 2. 在接收结果的类(例如Activity类)中自定义内部类继承ResultReceiver 3. 在需要IntentService执行任务时,使用startService()激活Service组件,并且,将自定义的ResultReceiver对象封装到用于激活IntentService的Intent对象中 4.

如何使APP开机自启动

﹥>﹥吖頭↗ 提交于 2019-12-05 06:48:57
方案一 将app做成系统应用,直接安装在 system/app 目录下 具体步骤为: 1.在AndroidManifest文件中,添加 android:sharedUserId="android.uid.system" 例如: image.png 2.将您的apk直接通过adb命令push到system/app下面,重启手机即可 方案二 1.创建一个广播接收者 package itbird.com.myapplication33; import android.app.ActivityManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import java.util.List; /** * Created by xfkang on 2018/5/7. */ public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent == null) { return; } Log

android 开发积累-activity的launch mode

☆樱花仙子☆ 提交于 2019-12-05 04:47:35
合抱之木,生於毫末;九層之台,起於累土;千里之行,始於足下。《老子》 今天在社区看到有朋友问“如何在半年内成为顶级架构师”,有网友道“关灯睡觉,不用半年的...”,的确,做梦还来的快一些。作为一个程序员,树立远大的目标是值得欣赏的,但不能只去空想,要一步一步地实践才行。成大事者,须从小事做起;万事起于忽微,量变引起质变。 我们今天要讲的是Activity的四种launchMode。 launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的 Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个 task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。 Activity一共有以下四种launchMode: 1.standard 2.singleTop 3.singleTask 4.singleInstance 我们可以在AndroidManifest.xml配置<activity>的android:launchMode属性为以上四种之一即可。 下面我们结合实例一一介绍这四种lanchMode: 1.standard standard模式是默认的启动模式,不用为<activity>配置android