[英]register and unregister broadcast
我要创建一个应用程序。通过我的应用程序用户可以读取传入的电话号码。我的活动有两个按钮:打开和关闭。 如果用户单击打开按钮,则将执行以下代码。
IntentFilter filter=new IntentFilter(TelephonyManager.EXTRA_STATE);
registerReceiver(new MyPhoneReceiver(), filter);
并且,如果用户单击关闭按钮,则将执行以下代码。
unregisterReceiver(new MyPhoneReceiver());
MyPhoneReceiver是我的brcastreceiver Calss名称,如果用户单击on按钮,则onReceive()方法将准备读取传入的呼叫号码并显示该号码。同样,如果我单击off按钮,则将取消广播注册。 我的onRecieve()代码是
public void onReceive(Context context, Intent intent) {
System.out.println("am hereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
Bundle extras = intent.getExtras();
if (extras != null) {
String state = extras.getString(TelephonyManager.EXTRA_STATE);
Log.w("sarath DEBUG", state);
System.out.println("state is:"+state);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
Log.w("sarath DEBUG", phoneNumber);
System.out.println("phone no. is:"+phoneNumber);
}
}
}
我的问题是当我单击on按钮时没有任何反应。当有来电时,它也没有执行onRecive()代码。请帮助我的朋友
此方法需要AndroidManifest.xml中的权限。 您在应用程序中添加了任何权限吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.