首页 > 解决方案 > 如果 Activity 已经打开,请避免再次打开 Activity

问题描述

我使用菜单栏打开了相机活动。但是在它打开后,如果我单击菜单栏,它会在其顶部打开。当我按下返回按钮时,它会显示两次相机活动。

我可以使用任何标志吗?

@Override
    public void onBackPressed() {
        DrawerLayout drawer = findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

@Override
    public void onResume() {
        super.onResume();
        mScannerView.setResultHandler(this); 
        mScannerView.startCamera();         
    }

@Override
public void onPause() {
    super.onPause();
    mScannerView.stopCamera();          
}

@Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
         if (item.getItemId() == R.id.nav_barcode) {
            Intent i = new Intent(this, Scanner.class);
            startActivityForResult(i, 1);
        } 
}

标签: androidnavigation-drawer

解决方案


android:launchMode="singleTop"在清单文件中添加您的相机活动。


推荐阅读