您的位置:首页 > 移动开发

两个App之间的跳转 并传值

2015-12-14 16:54 218 查看
两个App之间的传值最主要的是方法是

Intentintent=getPackageManager().getLaunchIntentForPackage("com.example.app2");
其他的传值用Intent完成就行与activity之间的传值类似
(还可以自定义activity的权限)

APP1:


packagecom.example.app1;

importandroid.content.Intent;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.Toast;

publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{

privateButtonbtn1;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn1=(Button)findViewById(R.id.btn_app1);
btn1.setOnClickListener(this);

}

@Override
publicvoidonClick(Viewv){
//通过包名获取要跳转的app,创建intent对象
Intentintent=getPackageManager().getLaunchIntentForPackage("com.example.app2");

if(intent!=null){
//这里跟Activity传递参数一样的嘛,不要担心怎么传递参数,还有接收参数也是跟Activity和Activity传参数一样
intent.putExtra("value","我是App1里的值");
startActivity(intent);
}else{

Toast.makeText(getApplicationContext(),"还没有这个APP",Toast.LENGTH_SHORT).show();
}
}
}


在App2中接收

packagecom.example.app2;

importandroid.content.Intent;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.widget.TextView;

publicclassMainActivityextendsAppCompatActivity{

privateTextViewtv2;
privateIntentintent;
privateStringvalue;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

intent=getIntent();
Bundlebundle=intent.getExtras();
if(bundle!=null){
value=bundle.getString("value");
}else{
value="没有接收到App1的值";
}

tv2=(TextView)findViewById(R.id.tv2);
tv2.setText(value);

}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: