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:
声明隐式意图
被调用Activity:
在这里返回result
调用Activity:
处理返回值
另外 还有一个情况 假如说我又一个应用中也有一个Activity中并且定义的的intent-filter和第一个被调用的activity一样 这时 就会出现
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一样 这时 就会出现