Android 应用间的集成

第一次在手机上安装wsm tools时发现wsm只是个简单的集成框架,需要用其中的工具还需要单独安装,而安装一个工具以后发现图标没有显示,感觉很神奇,最近工作需要,也要做android应用间的集成,研究了下,其实很简单。只需要提供要被集成的应用package、activity名称即可

例如,在当前应用中集成另外一个应用,像在同一应用中通过通过intent启动:

 1 public class MainActivity extends Activity {
 2     @Override
 3     protected void onCreate(Bundle savedInstanceState) {
 4         super.onCreate(savedInstanceState);
 5         setContentView(R.layout.main);
 6
 7         Intent intent = new Intent();
 8         //该应用的包名和要启动的主Activity
 9         ComponentName componentname = new ComponentName( "com.xxxx.xxxx", "com.xxxx.xxxx.App");
10         intent.setComponent(componentname);
11         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
12         intent.putExtra("paramName", "paramValue");
13         startActivity(intent);
14
15     }
16 }

如果想让被集成的应用图标隐藏,需要在AndroidManifest.xml中进行设置,修改的android.intent.category.LAUNCHER为android.intent.category.DEFAULT

即可实现图标的隐藏:

<activity android:name=".MainActivity"
         android:process="com.baixd.framework"
         android:theme="@android:style/Theme.NoTitleBar"
                   android:label="@string/app_name">
       <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <!--<category android:name="android.intent.category.LAUNCHER" />-->
       <category android:name="android.intent.category.DEFAULT" />
       </intent-filter>
</activity>
时间: 2024-07-30 10:19:45

Android 应用间的集成的相关文章

Android进阶笔记04:Android进程间通讯之Messenger ( 区别于AIDL)

一. Android进程间通讯之Messenger 的引入 (1)引言:      平时一说进程间通讯,大家都会想到AIDL,其实messenger和AIDL作用一样,都可以进行进程间通讯.它是基于消息的进程间通信,就像子线程和UI线程发送消息那样,是不是很简单,还不用去写AIDL文件,是不是有点小爽.哈哈.此外,还支持记录客户端对象的Messenger,然后可以实现一对多的通信:甚至作为一个转接处,任意两个进程都能通过服务端进行通信. (2) Messenger 与 AIDL 比较:    

android线程间通讯

近来找了一些关于android线程间通信的资料,整理学习了一下,并制作了一个简单的例子. andriod提供了 Handler 和 Looper 来满足线程间的通信.例如一个子线程从网络上下载了一副图片,当它下载完成后会发送消息给主线程,这个消息是通过绑定在主线程的Handler来传递的. 在Android,这里的线程分为有消息循环的线程和没有消息循环的线程,有消息循环的线程一般都会有一个Looper,这个事android的新 概念.我们的主线程(UI线程)就是一个消息循环的线程.针对这种消息循

Android组件间的相互调用

我们研究两个问题,1.Service如何通过Broadcaster更改activity的一个TextView.(研究这个问题,考虑到Service从服务器端获得消息之后,将msg返回给activity) 2.Activity如何通过Binder调用Service的一个方法.(研究这个问题,考虑到与服务器端交互的动作,打包至Service,Activity只呈现界面,调用Service的方法) 结构图见如下:效果图如下:点击“start service”按钮,启动Service,然后更改Activ

Android手机间使用socket进行文件互传实例

这是一个Android手机间文件传输的例子,两个手机同时装上此app,然后输入接收端的ip,选择文件,可以多选,点确定,就发送到另一个手机,一个简单快捷文件快传实例.可以直接运用到项目中. 下面是文件选择器: 代码 首先加入文件选择库 compile 'com.nononsenseapps:filepicker:2.5.2' 这个库的地址和用法在:https://github.com/spacecowboy/NoNonsense-FilePicker activity_main.xml <Rel

从AIDL开始谈Android进程间Binder通信机制

本文首先概述了Android的进程间通信的Binder机制,然后结合一个AIDL的例子,对Binder机制进行了解析. 概述 我们知道,在Android app中的众多activity,service等组件可以运行在同一进程中,也可以运行在不同进程中.当组件运行在同一进程中进行通信就显得比较简单,在之前的Android线程间通信机制中已经讲过了:而当它们运行在不同的进程中时,就需要使用我们本文中所要介绍的Binder机制了. Binder作为一种进程间通信机制,负责提供远程调用的功能(RPC),

android页面间传递对象

android传递对象有两种方式: 一种是Serializable和Parcelable 对于第一种方式: import java.io.Serializable; public class ShopData implements Serializable { public String shopId; public String name; public String url; public String info; public String getShopId() { return sho

Android进程间的通信之AIDL

Android服务被设计用来执行很多操作,比如说,可以执行运行时间长的耗时操作,比较耗时的网络操作,甚至是在一个单独进程中的永不会结束的操作.实现这些操作之一是通过Android接口定义语言(AIDL)来完成的.AIDL被设计用来执行进程间通信,另一种实现方式见博文Android进程间的通信之Messenger.本文我们将学习如何创建AIDL文件实现Android进程间通信.在正式学习之前,我们先澄清一些"事实". 关于Android Service 1.Android服务不是后台任务

Android Studio 项目中集成百度地图SDK报Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()I错误

Android Studio 项目中集成百度地图SDK报以下错误: 1 java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create)I 2 at com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create(Native Met

Android百度地图API集成二《定位》

书接上回 ↑ 基础地图请查看Android百度地图API集成一<基础地图>: 地址http://www.cnblogs.com/dhr125/p/5969980.html 1.在Application标签中声明SERVICE组件 <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> <