Android 2.2(またはそれ以降)の電話機でOnAudioFocusChangeListener(Android 2.2 - API 8以降で使用可能)を使用できるAndroid 1.6(API 4)用のアプリケーションを開発する必要があります。後で。Androidでリフレクションを使用してリスナーをインスタンス化する方法
リスナーでリスナーをインスタンス化する方法は誰にでも分かりますか? 私は既に静的メソッドと非静的メソッドをリフレクションで実行することができましたが、リスナーの処理方法はわかりません。
これは反映するリスナーです:
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
OnAudioFocusChangeListener audioListener = new OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
// code to execute
}
};
public void getAudioFocus() {
audioManager.requestAudioFocus(audioListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
}
public void releaseAudioFocus() {
audioManager.abandonAudioFocus(audioListener);
}
これは私が反射によって実行するために管理する方法とコードの例です:
Class BluetoothAdapter = Class.forName("android.bluetooth.BluetoothAdapter");
Method methodGetDefaultAdapter = BluetoothAdapter.getMethod("getDefaultAdapter"); // static method from the BluetoothAdapter class returning a BluetoothAdapter object
Object bluetooth = methodGetDefaultAdapter.invoke(null);
Method methodGetState = bluetooth.getClass().getMethod("getState"); // non-static method executed from the BluetoothAdapter object (which I called "bluetooth") returning an int
int bluetoothState = (Integer) methodGetState.invoke(bluetooth);
こことして、私はラッパーを使用することができ、完全に確認していない良い例のhttp://blogs.oracle.com/poonam/entry/how_to_implement_an_interface – Ronnie