1

QRコードスキャンを備えたAndroidアプリケーションがあります。GMD Hide Bar をインストールするまで、すべて正常に動作します。

QR コードの読み取りに成功すると、画面が完全に黒くなります。しかし、音が聞こえるため、アプリは引き続き黒い画面で実行されます。デバイスの電源ボタンを 2 回クリックする必要があります (画面を一度オフにしてから再度オンにするため)。その後、画面が再び表示されます。

それらは個別に機能するため、何が原因かはわかりません。これは、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);

私はこれをテストしました。時々黒い画面にもなります。

4

0 に答える 0