我有一个带有QR码扫描的Android应用程序。一切正常,直到我安装了GMD Hide Bar。
成功扫描QR码后,屏幕将变为全黑。但我的应用程序继续以黑屏运行,因为我可以听到声音。我必须单击设备上的电源按钮两次(关闭屏幕并再次打开),然后我可以再次看到屏幕。
因为它们单独工作所以我不确定是什么原因引起的。以下是QR码扫描器扫描代码并退出时的代码,此时屏幕变黑。
private final Handler mUnityHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
try {
Class<UnityPlayer> c = com.unity3d.player.UnityPlayer.class;
Method method = c.getMethod("UnitySendMessage", new Class[] { String.class, String.class, String.class });
method.invoke(null, "CodeScannerBridge", "onScannerMessage", mDataStr); // reveiver null
// because
// UnitySendMessage
// is
// static
} catch (NoSuchMethodException e) {
e.printStackTrace();
return;
} catch (Exception e) {
e.printStackTrace();
return;
}
finish();
}
有什么想法吗?
编辑它不是100%的时间都会发生,但经常发生。我有另一个功能:
mHandler.postDelayed(new Runnable() {
public void run() {
finish();
}
}, 10000);
我测试了这个。它有时也会变成黑屏。