我的应用程序使用cn1-codescan.cn1lib返回不受支持的文件。当我使用不赞成使用的CodeScanner(com.codename1.codescan。*)时,扫描仪应用程序可以工作,但永远不会返回值。我正在对Samsung Note 4进行测试,以防万一。
private void scanIt(TextField tfField)
{
if(CodeScanner.isSupported())
{
CodeScanner cs = CodeScanner.getInstance();
if(cs != null)
{
MyScanResult msr = new MyScanResult();
cs.scanBarCode(msr);
tfField.setText(msr.scancode);
}
else
tfField.setText("No Instance!");
}
else
tfField.setText("Not Supported!");
}
import com.codename1.ext.codescan.*;
public class MyScanResult implements ScanResult
{
public String scancode = null;
public MyScanResult()
{
}
public void scanCompleted(String contents, String formatName, byte[] rawBytes)
{
scancode = contents;
}
public void scanCanceled()
{
scancode = "Canceled";
}
public void scanError(int errorCode, String message)
{
scancode = "Error! "+message;
}
}
这是两个相关的函数调用。非常感谢您的帮助。谢谢。
最佳答案
使用不推荐使用的API时,您可以将IDE指向不推荐使用的功能,以获取更多帮助,并且在大多数情况下,不推荐使用将被解释,而不推荐使用的类中将提及您应该使用的类。
您专门使用了com.codename1.codescan.CodeScanner
,它是旧的不再可用的实现。您应该使用了不建议使用的com.codename1.ext.codescan.CodeScanner
,它应该可以正常工作。仅在安装并刷新cn1lib时,它才会在那里。