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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,705评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 谷雨婴幼儿玩具有限公司 【日精进打卡第80天】 【知~学习】 《六项精进》1遍 《大学》0遍 【经典名句分享】 1...
    一池清水_8fd9阅读 145评论 0 0
  • 当你身处银幕下的时候,只有故事的内核才是最打动你的力量,而所有明星的嗓音其实都是你内心的声音。 改编自法国著...
    即墨清音2015阅读 2,906评论 22 57
  • 凝望树叶在风中舞蹈 散落一季花瓣流年在笑声中做着美梦 抚一抹清风岁月躲在角落里窃喜 风中的我是谁眼中的风景
    心花园子阅读 340评论 0 0