上一篇我们知道了一个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
我的QQ群:373643359,欢迎加入