为什么我不能从新线程中发送android意图?

Ela*_*da2 2 java multithreading android android-intent

  private void Foo() {

    //  progressDialog = ProgressDialog.show(this, "", "Loading...");

    Thread t = new Thread(new Runnable() {
      @Override
      public void run() {

            Intent i = new Intent(this, TodoDetailActivity.class);
            i.putExtra("driveUri", file.getAlternateLink());
            startActivityForResult(i, SAVE);
       }
    });
    t.start();
  }
Run Code Online (Sandbox Code Playgroud)

我收到此错误: The constructor Intent(new Runnable(){}, Class<TodoDetailActivity>) is undefined

我试图改变为明确的声明,但它没有帮助

android.content.Intent i = new android.content.Intent.Intent(this, TodoDetailActivity.class);

虽然我知道过去使用过这样的签名.

Gle*_*enn 7

这条线

Intent i = new Intent(this, TodoDetailActivity.class);
Run Code Online (Sandbox Code Playgroud)

在匿名类中Runnable.

将其更改为

Intent i = new Intent(getBaseContext(), TodoDetailActivity.class);
Run Code Online (Sandbox Code Playgroud)