我有一个 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 函数上获取结果)?