同步Android活动

同步Android活动,android,Android,在我的最后一个问题中,我把这个话题引到了前面,所以我打开这个新问题来明确我真正想要的是什么。很抱歉给您带来不便 我想从我的主要活动开始,按照特定的顺序一个接一个地运行两个系统(Android)活动 正如我们所知,startActivity是一个异步操作,所以我不能保持特定的顺序 我想也许我应该在中间用对话框来做,但是运行对话框也是异步的。 现在,正如我所说的,我尝试运行的活动是Android活动,因此我甚至不能用startActivityForResult(或者mybe)启动它们,我可以,但我的

在我的最后一个问题中,我把这个话题引到了前面,所以我打开这个新问题来明确我真正想要的是什么。很抱歉给您带来不便

我想从我的主要活动开始,按照特定的顺序一个接一个地运行两个系统(Android)活动

正如我们所知,startActivity是一个异步操作,所以我不能保持特定的顺序

<>我想也许我应该在中间用对话框来做,但是运行对话框也是异步的。 现在,正如我所说的,我尝试运行的活动是Android活动,因此我甚至不能用startActivityForResult(或者mybe)启动它们,我可以,但我的主要(调用)活动没有得到任何结果 有什么诀窍我怎么处理这个问题

一些代码:

第一项活动:

      Intent intent = new Intent(); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      intent.setAction(Settings.ACTION_APPLICATION_SETTINGS); 
      startActivity(intent);    
第二项活动:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.setDataAndType(Uri.fromFile(tmpPackageFile 
        .getAbsoluteFile()), 
        "application/vnd.android.package-archive"); 
startActivity(intent); 

正如你所看到的,我没有任何访问这些活动的权限,我只能从我的主要活动中运行三个意图

因为不能同时运行两个活动,所以先启动第一个活动,然后在第一个活动返回后启动第二个活动

一种跟踪方法是使用startActivityForResult方法,它应该允许您控制活动的创建顺序。

试试这个

Intent intent = new Intent(Settings.ACTION_APPLICATION_SETTINGS);
                startActivityForResult(intent, 0);

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        if (requestCode == 0) {
            if (resultCode == RESULT_OK) {

                // start the other activity

            } else if (resultCode == RESULT_CANCELED) {
                // Handle cancel
            }
        }
    }

我试过了,但没用。。onActivityResult在我的调用活动中从未被调用。。(mybe因为结果从未发回??)!!您是否尝试过不标记活动或新任务?在阅读文档时,似乎这可能是一个问题:我猜您启动设置活动是因为您的活动的某些设置设置不正确?为什么不能在onResume()中检查设置是否正确?在onResume中是什么意思?为什么我要在那里检查它?请使用预览查看您的代码格式是否正确,并添加一些文本,可能是一个带有链接的引用,用户可以从中了解有关您的答复的更多信息,更好地理解答案。
public class MainActivity extends AppCompatActivity

{
    String msg="Android";

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(msg,"1:application created");

    }

    protected void onStart() {
        super.onStart();
        Log.d(msg,"2 The onStart() ");
    }
    protected void onResume() {
        super.onResume();
        Log.d(msg, "3 The onResume() ");
    }
    protected void onPause() {
        super.onPause();
        Log.d(msg, "4 The onPause() ");
    }
    protected void onStop() {
        super.onStop();
        Log.d(msg, " 5 The onStop() ");
    }

    public void onDestroy() {
        super.onDestroy();
        Log.d(msg, "6 The onDestroy()");
    }

}