android - 如何在没有任何用户交互的情况下返回到之前的 Activity

标签 android

我是 android 开发的新手,我正在尝试制作一个循环调用 Activity 的 android 应用程序,但每次 Activity 返回结果时,它都必须显示主屏幕。问题是不能有任何用户交互,因为智能手机要安装在机器人上,它要扫描条形码,当它读取条形码时,它应该返回到上一个 Activity ,这会改变它的背景颜色,所以机器人的颜色传感器可以读取它(我无法使蓝牙连接正常工作,所以这就是我发送信息的方式)。之后它必须再次开始扫描。我已经尝试了我能想到的所有方法,但它要么返回到主要 Activity (显示颜色),但再也不会开始扫描,要么在每次获得结果时继续扫描,但从不显示主屏幕。这是代码的最新版本:

protected void onResume() {
    super.onResume();
     if(contents.contains("left")){
            layout.setBackgroundColor(Color.RED);
        }
        else if(contents.contains("right")){
            layout.setBackgroundColor(Color.BLUE);
        }
        try {
            Thread.sleep(3000);
        }
        catch (InterruptedException e) {}
        if(contents.contains("q")){
            layout.setBackgroundColor(Color.GREEN);
            try {
                    Thread.sleep(3000);
            } 
            catch (InterruptedException e) {}
            System.exit(0);
         }



    try {
            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.putExtra("SCAN_MODE", "QR_CODE_MODE");

            startActivityForResult(intent, QR_ACTIVITY);
    }
    catch (Exception e) {}  
}


@Override
protected void onActivityResult(int requestCode, int resultCode,Intent intent) 
{
    super.onActivityResult(requestCode, resultCode, intent);
    if (resultCode == RESULT_OK) {
        if (requestCode == QR_ACTIVITY){
            contents = intent.getStringExtra("SCAN_RESULT");
        }
    }
}

这使得它在每次获得结果时都会重新开始扫描,但不会显示主屏幕。

最佳答案

看起来您的 Thread.sleep() 阻塞了 UI 3 秒,并在背景更改后有机会刷新屏幕之前立即重新启动您的扫描 Activity 。

尝试更改背景,然后将三秒等待和 startActivityForResult() 代码移动到 Handler 中,让 UI 更新,而另一个线程正在休眠。

关于android - 如何在没有任何用户交互的情况下返回到之前的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201466/

相关文章:

java - 在android中以表格形式排列sqlite表数据?

iPhone 相当于 Android 保存首选项

android - 使用 Robolectric 模拟单击​​菜单项时出错

android - 使用 OnTouchListener 时如何更改 Android 中 ImageButton 上的图像?

java - 如何将我的状态栏设置为透明但导航栏保持黑色?

android - 在 Android 中使用 Google map v2

android - TransformException : java. util.zip.ZipException : duplicate entry: android/support/annotation/StyleRes. 类

android - 有什么方法可以在不从 Assets 复制的情况下使用 Xamarin 中预先存在的数据库吗?

java - 如何解决 makeHttpRequest 方法错误?

Android getActivity() 总是在 fragment 内返回 null