我目前正在尝试使用QR扫描仪功能开发应用程序,为了做到这一点,我已经遵循了一些有关如何实现它的教程,我遇到了一些问题。
尝试制作一个可以调用扫描功能的按钮,我遇到了问题。 按钮按钮;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.scan);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(v.getId()==R.id.scan){
//scan
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
}
}
});
}
这是我用来调用命令但是在线上 IntentIntegrator integrator = new IntentIntegrator(this); 它让我回想一个错误,说构造函数是未定义的
如果你想查看它,我从here获得了“IntentIntegrator”和“IntentResult”的源代码。
就我认为我不允许更改任何源代码而言,这只是一个快速的问题,这是真的吗?
提前致谢,非常感谢任何帮助。
答案 0 :(得分:3)
试试这种方式。您需要将当前Context
传递给Constructor
。
IntentIntegrator integrator = new IntentIntegrator(your_activity.this);
答案 1 :(得分:1)
请传递MainActivity上下文而不是Onclick上下文。
1)IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);
或
2)IntentIntegrator integrator = new IntentIntegrator(context);