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