Android跳转到另一个APP的主界面或者某Activity

来源:互联网 发布:灯具模拟软件 编辑:程序博客网 时间:2024/06/11 17:41

文章转自:http://blog.csdn.net/hust_twj/article/details/73477454

1,Android从一个APP跳转到另一个APP主界面

Intent intent = new Intent(Intent.ACTION_MAIN);        //知道要跳转应用的包名、类名        ComponentName componentName = new ComponentName("com.example.hust_twj.secondapp", "com.example.hust_twj.secondapp.MainActivity");        intent.setComponent(componentName);        startActivity(intent);

2,Android从一个APP跳转到另一个APP的某Activity

(1) 把要跳转的目标APP的指定Activity暴露出来
在AnroidManifest文件中给activity节点设置 Android:exported=”true”,该属性表示当前Activity能否被另外一个Application的组件启动,true允许启动,false不允许。默认是false。注意:该属性是四大组件都拥有的。

<activity    android:name=".LoginActivity"    android:exported="true"></activity>

(2) 启动/跳转

 Intent intent = new Intent();        intent.setClassName("com.example.hust_twj.secondapp", "com.example.hust_twj.secondapp.LoginActivity");        startActivity(intent); 

第一个参数是目标app的包名,第二个参数是目标APP的Activity的全称。如果目标APP的Activity没有暴露入口,则会报权限禁止错误。

3, 使用 Bundle 传递数据

在 FirstApp 中使用 Bundle 传递数据:

 public void go2Main(View view){        ComponentName componentName = new ComponentName("com.example.hust_twj.secondapp","com.example.hust_twj.secondapp.MainActivity");        Intent intent = new Intent();        Bundle bundle = new Bundle();        bundle.putString("FIRST_APP_KEY", "你好 ,MainActivity");        intent.putExtras(bundle);        intent.setComponent(componentName);        startActivity(intent);    }    public void go2Login(View view){        Intent intent = new Intent();        intent.setClassName("com.example.hust_twj.secondapp", "com.example.hust_twj.secondapp.LoginActivity");        Bundle bundle = new Bundle();        bundle.putString("FIRST_APP_KEY", "你好 ,LoginActivity");        intent.putExtras(bundle);        startActivity(intent);    }

在 SecondApp 中,假如 MainActivity 和 LoginActivity 都有 TextView 用于显示从 FirstApp 中传过来的数据(本 demo 中没有 TextView ),那么在 MainActivity 和 LoginActivity 中接收数据如下:

TextView mTextView = (TextView) findViewById(R.id.tv_main);        Bundle bundle = this.getIntent().getExtras();        if (bundle != null){ //防止直接启动MainActivity时空指针闪退            String value = bundle.getString("FIRST_APP_KEY");            mTextView.setText(value);        }
阅读全文
0 0
原创粉丝点击