2020-03-01-唤醒安卓应用并传参

流程:AppA点击按钮,唤醒AppB并传递参数“hello”。AppB收到“hello”后更新界面,点击AppB上按钮后,唤醒AppA并传递参数“world”。AppA收到“world”后更新界面。

  1. AppA点击按钮
public void f2(final String data) {
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.app.b","org.cocos2dx.cpp.AppActivity"));
    intent.putExtra("a2b",data);
    startActivity(intent);
}
  1. AppB接收参数
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.setEnableVirtualButton(false);
    super.onCreate(savedInstanceState);
    getAppData();//接收参数一
}
private void getAppData() {
    Intent intent = getIntent();
    final String str_a2b = intent.getStringExtra("a2b");
    if (str_a2b != null) {
        showMsg(str_a2b);
    }
}
public void showMsg(final String msg) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            android.widget.Toast.makeText(AppActivity.this, msg, Toast.LENGTH_LONG).show();
        }
    });
}
@Override
protected void onNewIntent(Intent intent) {//接收参数二
    super.onNewIntent(intent);
    final String str_a2b = intent.getStringExtra("a2b");
    if (str_a2b != null) {
        showMsg(str_a2b);
    }
}
  1. AppB点击按钮和AppA接收参数跟上面写法类似
  2. 关于c++和java如何相互调用,参考https://www.cnblogs.com/liugangBlog/p/6434542.html
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,888评论 0 15
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 6,090评论 4 26
  • 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要...
    优雅地小男子阅读 985评论 0 0
  • 2019年2月,还有几天的年假就要滚回去搬砖了。很奇怪,最近总是胃不舒服,以为自己消化不良,晚上还在床上拼命...
    乙弋v阅读 432评论 2 3
  • 亲爱的女孩: 你有没有发现很多时候你期待的都会让你失望。 因为你抱有太高的期望,你太在意一些东西了。 你看,他们都...
    加油gogogo阅读 173评论 0 0