【问题标题】:How to send data from 1 app to another in android如何在android中将数据从一个应用程序发送到另一个应用程序
【发布时间】:2020-06-29 06:56:00
【问题描述】:

我有 2 个应用,A 和 B,我想从应用 A 向 B 发送 2+2,作为回报,我想从应用 B 接收 4,请告诉我流程和完整的代码库。

【问题讨论】:

  • 类似于this的东西

标签: android android-intent android-pendingintent


【解决方案1】:

1.来自应用 A 使用您的两个号码触发一次广播。

Intent intent = new Intent("com.myapps.appA");
intent.putExtra("num1",2);
intent.putExtra("num2",2);
sendBroadcast(intent);
  1. 现在在App B中注册broadCast1的接收器,你可以在它的Main Activity的onCreate中做到这一点。

    私有BroadcastReceiver广播接收器1;

...

broadcastReceiver1 = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {

        }
    };
    registerReceiver(broadcastReceiver1, new 
                             IntentFilter("com.myapps.appA");
  1. 在 onRecieve 内部从意图中获取两个数字并使用结果触发另一个广播,即

    int num1 = intent.getIntExtra("num1",0);
    int num2 = intent.getIntExtra("num2",0);
    
    Intent intent2 = new Intent("com.myapps.appB");
    intent2.putExtra("sum",num1+num2);
    YourActivity.this.sendBroadcast(intent2);
    
  2. 现在在您的 App A 中注册 Broadcast2 的接收者,您可以在其 Main 活动的 onCreate 中执行此操作。

私有BroadcastReceiver广播接收器2;

...

broadcastReceiver2 = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {

        }
    };
    registerReceiver(broadcastReceiver2, new 
                            IntentFilter("com.myapps.appB");
  1. 在它的 OnRecive() 里面得到结果

    int sum = intent.getIntExtra("sum",0);

  2. 最重要的是不要忘记在活动的 onStop 中取消注册接收器

【讨论】:

    猜你喜欢
    • 2014-11-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    相关资源
    最近更新 更多