美文网首页
一个APP中用包名启动另一个APP并传值

一个APP中用包名启动另一个APP并传值

作者: 阳光下的美好_6e13 | 来源:发表于2018-07-13 09:53 被阅读12次

    1、带参数启动另一个APP的代码

    //"com.********"要启动的APP的包名
     Intent intent = getPackageManager().getLaunchIntentForPackage("com.********");
    
                //ur_barCode传的参数,就是普通的Intent传值
                intent.putExtra("test",test);
    
                startActivity(intent);
    

    2、被启动的APP接收值

    MainActivity接收不到传值??????
    这个很重要,接收值只能在程序入口的activity里接收值,在其他界面是获取不到值的,

         <activity
                android:name=".SplashActivity"
                android:launchMode="singleTop"       
                android:theme="@style/AppSplash">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".MainActivity" />
    

    SplashActivity才是入口,所以Main接收不到值,这个可以直接在SplashActivity接收到值保存到本地,再在Main里面获取就可以了。

    TIPS:如果只是传值到MainActivty就用包名启动的方式就好了,不太建议使用类名启动,会很容易报错的。

    相关文章

      网友评论

          本文标题:一个APP中用包名启动另一个APP并传值

          本文链接:https://www.haomeiwen.com/subject/uazdpftx.html