我使用菜单栏打开了相机活动。但是,如果我单击菜单栏,它将在它打开之后打开。当我按下后退按钮时,它会显示两次相机活动。
我可以使用任何标志吗?
@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);
}
}
答案 0 :(得分:1)
在清单文件中为相机活动添加android:launchMode="singleTop"
。
答案 1 :(得分:0)
开始活动时使用标志Intent.FLAG_ACTIVITY_SINGLE_TOP
。