我应该使用哪个标志进行现有活动?

时间:2018-11-01 06:55:19

标签: android android-intent flags

在我的应用中 普通应用午餐活动1。 我正在Activity2中共享文件。

如何实现关注 Activity1(正常启动的应用程序)-> Activity2(共享文件)-> Activity1(通过单击某些按钮)-> Activity2(后按)->现有应用程序(后按而不显示Activity1)

从Activity2启动Activity1时应使用哪些标志?清单文件中Activity1和Activity1的launchMode应该是什么?

1 个答案:

答案 0 :(得分:0)

假设您有两个单独的 App_1 App_2 Activity_1 属于 App_1 Activity_2 < / em>到另一个。那么,

  • 使 Activity_2 可以由Activity_2应用的清单直接访问

    <activity
        android:name=".Activity2">
        <intent-filter>
            <action android:name="launch.Activity2.from.Activity1" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    
  • Activity_1 通过

    打开 Activity_2
        Intent intent = new Intent();
        intent.setAction("launch.Activity2.from.Activity1");
        startActivityForResult(intent, YOUR_REQUEST_CODE);
    
  • 共享完成后,或按Activity_2中的“后退”按钮,然后设置结果/标志以将其恢复到 Activity_1 中。

    setResult(RESULT_OK);//or RESULT_CANCELED based on action
    finish();
    
  • 因此,您将回到 Activity_1 ,您可以从onActivityResult检查结果/标志(也可以在那里使用Intent发送数据)< / p>

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == YOUR_REQUEST_CODE) {
            if (resultCode == RESULT_OK) {
                //TODO your logic
            }
        }
    }