0

我有一个 java 示例代码,演示了如何实现对另一个应用程序的调用。我的应用程序是一个 Qt 应用程序,所以我不知道如何实现它。这是我收到的 java 代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        button = (Button) findViewById(R.id.button);;
        
        if(getIntent() != null)
            //do something with received intent
            ...

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Uri.Builder builder = new Uri.Builder();
                builder.scheme("demo")
                       .authority("demoresult");

                String uriResponse = builder.build().toString();

                builder = new Uri.Builder();
                builder.scheme("myapp")
                        .authority("action")
                        .appendQueryParameter("caller", BuildConfig.APPLICATION_ID)
                        .appendQueryParameter("type", "readNumber")
                        .appendQueryParameter("responseUri", uriResponse)

                Intent intent = new Intent(Intent.ACTION_VIEW, builder.build());
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                startActivity(intent);
            }
        });
    }
}
            

我曾尝试在 java 中这样做,但应用程序崩溃了,因为它告诉我我正在另一个线程上运行活动。如何执行示例中的操作(启动 Activity 并在 onCreate 函数上获取结果)?

4

0 回答 0