上一篇我们知道了一个App调用另一个App的Activity,但是如果我们要调用另一个App的某个Activity中的方法怎么办?
我的思路是这样的:
既然我们知道一个App可以调用另一个App的Activity,那我们为什么不在调用的时候,进行传参,根据参数的不同来调用对应的方法,
通过这样一个“曲线救国”的方式就可以完成此功能了!
关键代码如下:
FristActivity的代码:
Intent intent = new Intent();
intent.putExtra("userinfo", userInfoText.getText().toString());
ComponentName componetName = new ComponentName("com.niuba.second","com.niuba.second.SecondActivity");
intent.setComponent(componetName);
startActivity(intent);
SecondActivity的代码:
public class SecondActivity extends Activity {
private EditText userinfo;
private LinearLayout linearLayout = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
userinfo = (EditText) findViewById(R.id.userinfo);
linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
String userinfoStr = getIntent().getStringExtra("userinfo");
userinfoStr = userinfoStr==null?"":userinfoStr.toUpperCase();
if(userinfoStr.equals("A")){
setBackground();
}else{
setBackground2();
}
userinfo.setText(userinfoStr);
}
/**
*
* setBackground(设置背景图片1)
* @Exception 异常对象
* @since CodingExample Ver(编码范例查看) 1.1
*/
public void setBackground(){
linearLayout.setBackgroundResource(R.drawable.picture1);
}
/**
*
* setBackground(设置背景图片2)
* @Exception 异常对象
* @since CodingExample Ver(编码范例查看) 1.1
*/
public void setBackground2(){
linearLayout.setBackgroundResource(R.drawable.picture2);
}
项目下载地址:http://download.csdn.net/detail/niuba123456/6973645一个App调用另一个App的Activity的方法,布布扣,bubuko.com
原文:http://blog.csdn.net/niuba123456/article/details/20129849