Android 不同应用之间互相通信以及读取资源

本文详细介绍了Android应用程序之间如何进行通信,包括通过Activity、Content Provider、Broadcast和AIDL服务四种方式。同时,文章讲解了如何读取其他应用的资源,如通过设置ShareUserId共享数据,以及不依赖ShareUserId时利用反射机制访问资源。
摘要由CSDN通过智能技术生成
一.应用之间通信
  Android系统应用程序之间不能共享内存,他们之间的通信是需要特殊的机制。Android SDK提供了4中跨进程的通讯方式,对应Android系统中的4个组件:Activity,Content Provider,Broadcast,Service。
1.Activity
  a. Activity可以是进程内以及跨进程访问,在同一个应用程序内访问,需要提供Context对象和Activity的Class对象,例如:     
 Intent intent = new  Intent(this , Test.class );  
 startActivity(intent);
  b. 跨进程访问需要提供Activity对应Action字符串,例如:Intent.ACTION_CALL,Intent.ACTION_SEND,这是系统提供的Action。当然我们也可以定义我们自己的Action来分享Activity,在AndroidManifest.xml中配置如下。
<activity android:name=".Main">  
  <intent-filter>      
      <action android:name="net.blogjava.mobile.MYACTION"  />  
      <data android:scheme="info"  /> //指定URI协议,用于Activity之间传递参数              
      <category android:name="android.intent.category.DEFAULT"  />  
  </intent-filter>  
</activity>
  c.还有一种方式可以直接启动一个应用,通过PackageManager来实现,代码如下:
 PackageManager pm = context.getPackageManager();
 Intent intent = pm.getLaunchIntentForPackage(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值