欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android app之间数据传递 (一)intent

程序员文章站 2022-06-01 14:36:36
...

转载poclist的android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果

请求数据的app(B) 关键代码

MainActivity Activity 中

//接收 信息  请求 标识
final int REQUEST_CODE_1 = 1;

String action ="cn.hchl.aa.SSSS";//请求数据的地址;
Intent intent = new Intent(action);
intent.putExtra("key1","这是来自damo BB的 消息");  //如果要参数可以通过Intent类的putExtra()传过去
startActivityForResult(intent,REQUEST_CODE_1);

@SuppressLint("WrongConstant")
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE_1){
            String result = data.getStringExtra("phone_number");
            textView.setText(result);
            Toast.makeText(MainActivity.this,"收到 : "+result,0).show();
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

数据所在 App(A) 的 关键代码

Manifest 文件中

<activity android:name=".SSSS">
            <intent-filter>
                <action android:name="cn.hchl.aa.SSSS"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

SSSS Activity 中

  Intent intent_result = new Intent();
        intent_result.putExtra("phone_number",phone);  //phone 为需要的参数
        setResult(Activity.RESULT_OK,intent_result);
        this.finish(); //关闭Activity ,这里B调用A时,不显示A
相关标签: android