2011.09.07(二)——— android 跨进程通信之隐式intent

2011.09.07(2)——— android 跨进程通信之隐式intent
2011.09.07(2)——— android 跨进程通信之隐式intent

参考:http://blog.csdn.net/yan8024/article/details/6444368
http://www.cnblogs.com/playing/archive/2011/03/10/1980053.html

被调用Activity:

在清单文件中定义此activity
<activity android:name=".OtherActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="com.lp" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="lp" android:host="www.baidu.com" />
            </intent-filter>
</activity>


调用Activity:

声明隐式意图
 btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent = new Intent();
		        intent.setAction("com.lp");
		        intent.setData(Uri.parse("lp://www.baidu.com/1234"));
		        startActivityForResult(intent, 1);
				
			}
});


被调用Activity:

在这里返回result

btn.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				Intent i = new Intent();
				i.putExtra("lp", "成功跨进程调用HelloActivity3");
				setResult(2 ,i);
				finish();
			}
});


调用Activity:

处理返回值

@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		System.out.println(requestCode+"=="+resultCode);
		if(requestCode==1 && resultCode==2){
			Toast.makeText(this, data.getStringExtra("lp"), 1).show();
		}
}



另外 还有一个情况 假如说我又一个应用中也有一个Activity中并且定义的的intent-filter和第一个被调用的activity一样 这时 就会出现
2011.09.07(二)——— android 跨进程通信之隐式intent