ここでこの例に従っています(http://androidlabs.org/short-experiments/broadcast-receivers/do-something-when-the-phone-rings/):
package nl.codestone.cookbook.incomingcallinterceptor;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.widget.Toast;
public class IncomingCallInterceptor extends BroadcastReceiver { // 1
@Override
public void onReceive(Context context, Intent intent) { // 2
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); // 3
String msg = "Phone state changed to " + state;
if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) { // 4
String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER); // 5
msg += ". Incoming number is " + incomingNumber;
// TODO This would be a good place to "Do something when the phone rings" <img src="http://androidlabs.org/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley">
}
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
}
}
プロジェクトを Eclipse に直接インポートし、デバイスにインストールしました。すべてがエラー メッセージなしで正しくコンパイルおよびインストールされますが、着信コールを受信したときにトースト メッセージが生成されないようです。
インポート中に問題が発生した場合に備えて、プロジェクトを手動で作成しようとしましたが、結果は同じです。インストールされていても、電話が鳴っているときは何もしないようです。