0

cSipSimple からこのコードを編集しています: https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/src/com/csipsimple/ui/incall/InCallCard.java?spec=svn2170&r=2170

そして、このメソッドを追加したい:

public void pushtotalk2(final View view) {

        final boolean on = ((ToggleButton) view).isChecked();
        ((ToggleButton) view).setEnabled(false);

        new Thread(new Runnable() {
            @Override


    public void run() {
            try {
                Instrumentation inst = new Instrumentation();
                if (on) {

                    inst.sendKeyDownUpSync(KeyEvent.KEYCODE_NUMPAD_MULTIPLY);
                    Thread.sleep(500);
                    inst.sendKeyDownUpSync(KeyEvent.KEYCODE_9);
                    Thread.sleep(500);

                    runOnUiThread(new Runnable() {
                        public void run() {
                            ((ToggleButton) view).setBackgroundResource(R.drawable.btn_blue_glossy);
                            ((ToggleButton) view).setEnabled(true);
                        }
                    });
                } else {
                    inst.sendKeyDownUpSync(KeyEvent.KEYCODE_POUND);
                    Thread.sleep(500);
                    inst.sendKeyDownUpSync(KeyEvent.KEYCODE_9);
                    Thread.sleep(500);
                    runOnUiThread(new Runnable() {
                        public void run() {
                            ((ToggleButton) view).setBackgroundResource(R.drawable.btn_lightblue_glossy);
                            ((ToggleButton) view).setEnabled(true);
                        }
                    });
                }
            } catch (InterruptedException e) {
                Log.d(TAG, "Failed to send keycodes: " + e.getMessage());
            }
        }
    }).start();
}

ただし、次のエラーが表示されます。runOnUiThread(new Runnable(){}) is undefined for the type new Thread(){}

私の理解では、アクティビティ クラスにはこのメソッドがありますが、コードからどのようにアクセスすればよいでしょうか?

コンストラクターを作成しようとしたところ、次のエラーが発生しました。

Implicit super constructor FrameLayout() is undefined. Must explicitly invoke another constructor

これがどのように正しく行われるかについてのアイデアはありますか?

4

2 に答える 2