0

Android用のJavaアプリケーションをコーディングしています。

アプリケーションでは、実行中のタスクをキャンセルする方法として、電話の [戻る] ボタンを使用しています。ただし、それを押すと、Log Cat で次のように表示されます。

08-30 10:45:25.784: W/KeyCharacterMap(1661): Bad keycharmap - filesize=32

08-30 10:45:25.784: W/KeyCharacterMap(1661): Error loading keycharmap file '/system/usr/keychars/bravo-keypad.kcm.bin'. hw.keyboards.0.devname='bravo-keypad'

08-30 10:45:25.784: W/KeyCharacterMap(1661): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

キャンセルはまだ発生しますが、この警告が表示されるので心配です。アプリケーションをできるだけ安定させたい。このエラーの意味を知っている人はいますか?

キャンセルは、次のようにProgressDialogAsyncTaskをキャンセルすることで発生します。

usingDialog.setOnCancelListener(new OnCancelListener()
{
    public void onCancel(DialogInterface dialog)
    {
        cancel(true);
    }
});
4

2 に答える 2

1

したがって、あなたの質問に対する完全な回答はありませんが、自分のアプリケーションで同様の問題に遭遇し (同じ警告が表示されますが、条件が異なります)、少し理解することができました。私が見つけた最も重要なことは、Motorola Defy XT では発生するが、Galaxy SIII では表示されないようだということです。あなたの携帯電話は何を使っていますか?

私が見つけた他のもの:

1) これは、戻るボタンの押下が解決される前に発生するようです。

2) 2 つのアクティビティ間を行ったり来たりすると、最初に連続して戻るボタンを押したときにのみ発生します。たとえば、アクティビティ A から始めて、アクティビティ B に移動し、元に戻すと、エラーが表示されます。しかし、Activity B に行ってもう一度打ち返すと表示されません。さらに奇妙なことに、その後アクティビティ C に移動し、ヒットバック (エラーは予想どおりに表示されます) し、アクティビティ B に移動してもう一度戻ると、エラーが再び表示され始めます。表示に失敗するのは、2 つのアクティビティ間の連続した時間だけです。

3) 警告は他の物理ボタンにも表示されます (ホームには表示されません)。検索、設定、音量ボタンで見ました。ただし、音量ボタンに付随する警告では、他の 3 つとは異なる devname が使用されていました。

4) 私の SIII では、この警告は表示されませんが、次のような別のエラーが表示されます。

E/SpannableStringBuilder(6946): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

どちらも、不適切なキーボードを使用しているシステムに起因しているようです。これが単なる偶然であることを願っていますが、言及する価値があるようです。

于 2014-01-07T23:37:10.587 に答える
0

これを試してみてください::

 public void onBackPressed() {

    //Task to be performed
    //finish();

 }
于 2012-08-30T10:26:49.343 に答える