簡単なテストとして、AndroidでハードウェアボタンがクリックされたことをToastメッセージでユーザーに通知するbroadcastReceiverを作成しようとしています。
マニフェストファイルに.TestReceiverという名前のレシーバータグを作成しました。このタグは、ユーザーが緑色の[送信]ボタンをクリックしたときに通知されるAction_CALL_BUTTONをリッスンします。
<receiver android:name=".TestReceiver" >
<intent-filter>
<action android:name="android.intent.action.ACTION_CALL_BUTTON" />
</intent-filter>
</receiver>
次に、BroadcastReceiverを拡張してToastを作成するTestReceiverクラスを作成しました。通話ボタンをクリックすると、トーストメッセージは表示されませんが、アクティビティでテストしたところ、表示されます。ここで何が欠けていますか?
package com.example.helloandroid;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class TestReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
ありがとう