我的应用创建了一个计时器任务(后台线程)并定期需要显示一些内容。主屏幕可能稍后被其他应用隐藏。我发现(在stackoverflow上的AFAIRemember)为了制作Toast通知,我需要使用runOnUiThread
runnable
(只是Toast.makeText
崩溃了应用程序。)
现在我希望我的后台线程能够收集用户输入。我创建了带布局的活动类,并通过意图
调用它Intent intent = new Intent(this, screen2.class);
startActivityForResult(intent, 1);
当主屏幕处于活动状态时,我的新屏幕显示正常。但是当隐藏主屏幕时,我的另一个屏幕被隐藏,只有当我通过“最近”按钮再次激活我的应用程序时才能看到它。
我尝试通过runOnUiThread
runnable
运行第二个屏幕的意图 - 结果相同 - 隐藏新屏幕,直到我的应用处于有效状态。
后台线程如何在屏幕上显示某些活动(UI线程)?
P.S。
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(takePictureIntent);
- 显示隐藏的摄像机屏幕,而下面的动作呼叫将呼叫屏幕置于当前屏幕上的其他应用程序之上
callIntent.setData(Uri.parse("tel:" + Uri.encode("+79851559700")));
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
callIntent.setPackage("com.android.phone");
try {
startActivity(callIntent);
将Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
添加到相机意图制作的相机屏幕显示来自背景计时器,但是它没有让我的活动去做。
更改为intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
第二个屏幕出现在前景中,但不知何故它取代了主屏幕。