一.应用之间通信
Android系统应用程序之间不能共享内存,他们之间的通信是需要特殊的机制。Android SDK提供了4中跨进程的通讯方式,对应Android系统中的4个组件:Activity,Content Provider,Broadcast,Service。
1.Activity
a. Activity可以是进程内以及跨进程访问,在同一个应用程序内访问,需要提供Context对象和Activity的Class对象,例如:
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(