0

私はAndroidを初めて使用します。現時点では、次のようにShoplistActivityでbarcodeSCannerを呼び出しています。

Intent barcode = new Intent(ShopListActivity.this, BarcodeActivity.class);
startActivityForResult(barcode,0);

そして、私のBarcodeActivityには次のようなものがあります:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        switch (requestCode) {
        case IntentIntegrator.REQUEST_CODE: {
            if (resultCode != RESULT_CANCELED) {
                IntentResult scanResult = IntentIntegrator.parseActivityResult(
                        requestCode, resultCode, data);

                if (scanResult != null) {

                    try {
                        setContentView(R.layout.automatico);

                        editForEAN = (EditText) findViewById(R.id.EditEAN);
                        txt_EAN = scanResult.getContents();
                        editForEAN.setText(txt_EAN);

                    } catch (Exception e) {
                        Toast.makeText(getBaseContext(), e.getMessage(),
                                Toast.LENGTH_LONG).show();
                    }


                    }

            }
        }
            break;
        }
    }

今私の問題は、5秒で使用されていない場合にBarcodeScannerを閉じる方法をスレッドで実装したいということです.Handlerで試してみましたが成功しませんでした..

4

1 に答える 1

0

なぜそれを閉じるのですか?Androidアプリを閉じる必要はありません。ユーザーがアプリを起動してから別の場所に移動しても、気にしません。状態を保存し、ユーザーが戻ってきたときに再度アクティブ化する準備をする必要があります。

本質的に、AndroidUXは「終了ボタンなし」です。アプリは、システムが他の何かのためのスペースを作るためにそれを捨てるまで実行されます。唯一の例外は、オーディオ再生やバックグラウンドサービスなどの進行中のタスクです。そのような場合は、再生を停止したりサービスをアンロードしたりする方法をユーザーに提供する必要がありますが、アプリ全体を停止する必要はありません。

于 2012-06-29T21:50:44.980 に答える