两个App之间进行跳转与传值

来源:互联网 发布:python制作dll 编辑:程序博客网 时间:2024/06/06 03:31

      我们平常都是activity之间通过intent跳转。有的时候页面的展示通过html5,最近我们公司出现了一个新的需求,公司按业务的不同分别做了几个系统,在这些系统之间还是有一些共通性,就想要实现几个系统的传递交互。就是一个App启用另一个app ,如果有需要,传值过去。

       有两种方法可以实现这个需求:

       一、完全在java代码中实现

     1、跳到指定app的指定页面

                   ComponentName componetName = new ComponentName(
               "com.example.linechart","com.example.linechart.MainActivity");  

                         //(另外一个应用程序的包名,要启动的Activity )
           Bundle bundle = new Bundle();
           bundle.putString("key", "value");


                   Intent intent = new Intent();

             intent.putExtras(bundle);
             intent.setComponent(componetName);
             startActivity(intent);

             2、直接跳到另一个app

                  Intent intent = new Intent();
                  PackageManager packageManager = this.getPackageManager(); 
                  intent = packageManager.getLaunchIntentForPackage("com.example.linechart"); 
                  intent.putExtra("jiajia", "从Linechart跳回原来的app");
                  startActivity(intent);

      二、Intent + AndroidManifest.xml

             java代码中 Intent intent = new Intent("name.foo");

            要跳入App的AndroidManifest.xml文件中 为要跳入的类起一个名字

            <intent - filter>

            <action android:name = "name.foo"/>

            <category android:name = "android.intent.category.DEFAULT"/>

            </intent-filter>



1 0
原创粉丝点击