关于ComponentName的使用】的更多相关文章

在前一篇相关主题的博文中我们了解了如何使用Action来启动当前应用之外的Activity处理我们的业务逻辑,在本篇笔记中我在简单介绍一下使用ComponentName来与当前应用之外的应用进行交互. 在介绍Component之前,我们首先来了解ComponentName这个类:ComponentName与Intent同位于android.content包下,我们从Android官方文档中可以看到,这个类主要用来定义可见一个应用程序组件,例如:Activity,Service,Broadcast…
ComponentName,顾名思义,就是组件名称,通过调用Intent中的setComponent方法,我们可以打开另外一个应用中的Activity或者服务. 实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称: 第二个参数是你要启动的Activity或者Service的全称(包名+类名),代码如下: 启动一个Activity: Intent intent = new Intent(); intent.setCompon…
最近在锁屏上研究,如果预置widget,研究了好久,终于找到方法了,先上代码: private int getAppWidgetFromComName(ComponentName providerCom) { int appWidgetId; appWidgetId = mAppWidgetHost.allocateAppWidgetId(); try { mAppWidgetManager.bindAppWidgetId(appWidgetId, providerCom); } catch (…
ComponentName是用来打开其它应用程序中的Activity或服务的. 使用方法: Intent i=new Intent(); i.setComponent(new ComponentName(String packageName,String activityName )); startActivity(i);…
注:在<疯狂android讲义>中,此属性称为Component,官方文档中称为ComponentName. 1.The name of the component that should handle the intent. This field is a ComponentName object - a combination of the fully qualified class name of the target component (for example "com.e…
从应用A跳转到应用B, 关键代码如下: 有以下几个注意点: 1.ComponentName cn = new ComponentName("com.terry", "com.terry.musicActivity"); android.content.ComponentName.ComponentName(String pkg, String cls) Create a new component identifier. Parameters: pkg The na…
ComponentNameActivity Intent i=new Intent(); i.setComponent(new ComponentName(String packageName,String activityName )); startActivity(i);…
ComponentName,顾名思义,就是组件名称,通过调用Intent中的setComponent方法,我们可以打开另外一个应用中的Activity或者服务. 实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称: 第二个参数是你要启动的Activity或者Service的全称(包名+类名),代码如下: 启动一个Activity: Intent intent = new Intent(); intent.setCompon…
ComponentName(组件名称)是用来打开其他应用程序中的Activity或服务的. 用法: Intent it=new Intent(); it.setComponent(new ComponentName(String packageName,String activityName )); startActivity(it); 本文转自:http://blog.csdn.net/jaycee110905/article/details/8643124…
ComponentName,顾名思义,就是组件名称,通过调用Intent中的setComponent方法,我们可以打开另外一个应用中的Activity或者服务. 实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称: 第二个参数是你要启动的Activity或者Service的全称(包名+类名),代码如下: 启动一个Activity: Intent intent = new Intent(); intent.setCompon…
注:在<疯狂android讲义>中,此属性称为Component,官方文档中称为ComponentName. 1.The name of the component that should handle the intent. This field is a ComponentName object - a combination of the fully qualified class name of the target component (for example "com.e…
启动activity的另一种方式 在按钮中添加如下代码 ComponentName componentName=new ComponentName(MainActivity.this,NewActivity.class); //第一个参数为当前活动 第二个参数为要到达的活动 Intent i=new Intent(); i.setComponent(componentName); startActivity(i);…
ServiceConnection类中的两个方法非别在服务连接成功时.不成功时调用.其中onServiceDisconnected()方法在连接正常关闭的情况下是不会被调用的, 该方法只在Service 被破坏了或者被杀死的时候调用.例如, 系统资源不足, 要关闭一些Services, 刚好连接绑定的 Service 是被关闭者之一, 这个时候onServiceDisconnected() 就会被调用.…
最近开发的时候遇见一个头疼的事情,之前用过的组件没有出现过任何问题,但偏偏在其他目录下引用就出问题了. 组件的名称.import的路径都没任何问题,看了其他人遇到的问题和官方文档关于组件name属性的规范之后,这是因为组件name填写不规范所导致的! 在命名组件时必须要按照官方文档给出的规范来 1.使用 kebab-case Vue.component('my-component-name', { /* ... */ }) 当使用 kebab-case (短横线分隔命名) 定义一个组件时,你也必…
Android6.0及以上系统支持指纹识别解锁功能:项目中用到,特此抽离出来,备忘. 功能是这样的:在用户将app切换到后台运行(超过一定的时长,比方说30秒),再进入程序中的时候就会弹出指纹识别的界面.用户输入指纹,解锁成功.指纹识别的模块其实很简单啦,google的api已经封装好了,我们只需要学会调用就ok了. 思路: 在用户将程序切换到后台的时候需要有一个方法计时,这样的方法写在哪里呢,对,要写在service中.在Activity中开启服务: Intent intent = new I…
TODO: 待修正 Binder简介 Binder是android系统中实现的一种高效的IPC机制,平常接触到的各种XxxManager,以及绑定Service时都在使用它进行跨进程操作. 它的实现基于OpenBinder项目,属于核心库.framework层的Binder通信用到的相关java类型都是对应C++类型的一个封装. 这里framework层就是android提供的java api层,类似jre中的java标准类库,也就是我们sdk中用到的各种java类型. IPC和远程对象(Rem…
在 Android 的 Mainfest 清单文件中,Application,Activity,Recriver,Service 的节点中都有这个的存在.很多时候我们可以通过 meta-data 来配置一些东西,例如我们可以配一个app相应的欢迎页面跳转后的主页等等. 下面直接上代码: AndroidMainfest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android…
前言: 前面总结了程序间共享数据,可以使用ContentProvider也可以使用SharedPreference,那么进程间怎么共享内存呢?Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信. 为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现.与很多其他的基于RPC的解决方案一样,Android使用一种接口定义语言(Interface Definit…
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知.懂的越多的时候你才会发现懂的越少. 如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大. 最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后…
最近在做毕业设计,想有一个功能和QQ一样可以裁剪头像并设置圆形头像,额,这是设计狮的一种潮流. 而纵观现在主流的APP,只要有用户系统这个功能,这个需求一般都是在(bu)劫(de)难(bu)逃(xue)! 图片裁剪实现方式有两种,一种是利用系统自带的裁剪工具,一种是使用开源工具Cropper.本节就为大家带来如何使用系统自带的裁剪工具进行图片裁剪~ 还是先来个简单的运行图.(Ps,本人还没结婚,照片是我表哥~) 额,简单说下,我待会会把代码写成小demo分享给大家,在文章末尾会附上github链…
service-Android的四大组件之一.人称"后台服务"指其本身的运行并不依赖于用户可视的UI界面 实际开发中我们经常需要service和activity之间可以相互传递数据维持程序的运行. 先了解Service的生命周期吧. 新建一个类继Service: package com.example.myservicedemo.service; import android.app.Service; import android.content.Intent; import andr…
一.Bundle进行IPC介绍 四大组件中的三大组件(Activity.Service.Receiver)都是支持在Intent中传递Bundle数据的,由于Bundle实现了Parcelable接口,所以它可以方便地在不同的进程之间传输.当然,传输的数据必须能够被序列化,比如基本类型.实现了Parcelable接口的对象.实现了Serializable接口的对象以及一些Android支持的特殊对象,具体内容可以看Bundle这个类,就可以看到所有它支持的类型.Bundle不支持的类型无法通过它…
一.文件进行IPC介绍 共享文件也是一种不错的进程间通信方式,两个进程通过读/写同一个文件来交换数据.在Windows上,一个文件如果被加了排斥锁将会导致其他线程无法对其进行访问,包括读写,而由于Android系统基于Linux,使其并发读/写文件可以没有限制地进行,甚至两个线程同时对同一个文件进行读写操作是允许的,尽管这可能出现问题.通过文件交换数据很好使用,除了可以交换一些文本信息外,还可以序列化一个对象到文件系统中的同时从另一个进程中恢复这个对象. 二.使用方法 1.数据类实现Parcel…
有时,开发人员会对应用程序进行更改,当安装为以前版本的更新时出现令人惊讶的结果 - 快捷方式断开,小部件消失或甚至根本无法安装. 应用程序的某些部分在发布后是不可变的,您可以通过理解它们来避免意外. 你的包名和证书 其中最明显和最可见的是“manifest package name”,它是在AndroidManifest.xml中为您的应用程序提供的唯一名称. 该名称使用Java语言风格的命名约定,具有Internet域所有权有助于避免名称冲突. 例如,由于Google拥有域“google.co…
一.前言 学习了前面的活动与服务后,你会发现服务对于活动而言似乎就是透明的,相反活动对于服务也是透明的,所以我们还需要一中机制能够将服务和活动之间架起一座桥梁,通过本节的学习,你将会学到广播与绑定服务,这两种方式恰恰是解决上面问题的关键. 二.简单的广播接收器 实现一个最简单的广播接收器需要继承BroadcastReceiver类,并且还要实现OnReceive方法,我们可以在项目中新建一个MainReceiver类,然后写入如下代码: public class MainReceiver : B…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57bec216d81f2415515d3e9c 作者:陈昱全 引言 随着项目中动态链接库越来越多,我们也遇到了很多奇怪的问题,比如只在某一种 OS 上会出现的 java.lang.UnsatisfiedLinkError,但是明明我们动态库名称没错,ABI 也没错,方法也能对应的上,而且还只出现在某一些机型上,搞的我们百思不得其解.为了找到出现千奇百怪问题的原因,和能够提供一个…
直接上代码: // 通过包名获取要跳转的app,创建intent对象 Intent intent = getPackageManager().getLaunchIntentForPackage("cn.easier.intelligencesystem"); // 这里如果intent为空,就说名没有安装要跳转的应用嘛 if (intent != null) { // 这里跟Activity传递参数一样的嘛,不要担心怎么传递参数,还有接收参数也是跟Activity和Activity传参…
1.什么是AIDL? Android Interface Definition Lauguage(android接口描述语言)是一个IDL语言. 2.AIDL的作用? 背景:在android平台 中,一个进程通常不能访问其它进程中的内存区域.所以,他们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨越边界访问.编写这种伪装代码相当的枯燥乏味,好在android为我们提供了AIDL工具可以来做这件事 作用:用来进行进程间通信,有很多人可能就会问到,进程间通信有很多方法,为什么非要用AID…
前言 接上文:谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo 上次写完博客后,有朋友反应第一内容有点深,看着迷迷糊糊:第二是感觉没什么使用场景,太过业务化,还不如直接写Vue&react的源码分析,我感觉这里有必要说下我的认识. 首先,要写源码分析很难,第一是他本来就很难,所以一般我们是想了解他实现的思路而不是代码: 第二每个开发者有自己发风格,所以你要彻底读懂一个人的代码不容易,除非你是带着当时作者同样的问题不断的寻找解决方案,不断的重构,才可能理解用户的意图. 我们…
1.Binder死亡代理     这一节首先将介绍Binder类中比较重要的两个方法linkToDeath和unlinkToDeath.我们知道Binder是运行在服务进程,若服务端进程因为某种原因“死亡”,那么Binder对象也将随之而去,因为Binder对象是寄宿在服务端进程中的,这个时候我们的远程调用将会失败,客户端进程的功能也将受到影响.Binder类提供linkToDeath方法在客户端可以设置死亡代理,当服务端的Binder对象“死亡”,客户端可以受到死亡通知,这个时候我们可以重新恢…