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

2018-07-13  本文已影响12人  阳光下的美好_6e13

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就用包名启动的方式就好了,不太建议使用类名启动,会很容易报错的。

上一篇下一篇

猜你喜欢

热点阅读