首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在电话管理器中查找去电号码

如何在电话管理器中查找去电号码
EN

Stack Overflow用户
提问于 2011-07-07 21:17:08
回答 2查看 5.6K关注 0票数 5

我使用的是:

代码语言:javascript
复制
public void onCallStateChanged(int state, String incomingNumber)

正在收听的是:

代码语言:javascript
复制
telephonyManager.listen(listener,PhoneStateListener.LISTEN_CALL_STATE);

我想知道呼出呼叫和呼入呼叫,但目前我只收到呼入呼叫(当状态更改为振铃时)。谁能告诉我什么时候可以检测到呼出电话及其结束

此外,还有一种方法可以在Eclipse模拟器中模拟传出调用。能够通过eclipse中的仿真器控件对传入呼叫执行此操作。

EN

回答 2

Stack Overflow用户

发布于 2011-07-12 13:32:20

IntentFilter使用带有意图android.intent.action.NEW_OUTGOING_CALL字符串参数的广播侦听器,并且不要忘记在AndroidMenifest中将权限授予PROCESS_OUTGOING_CALLS。这将会起作用。每当有呼出呼叫时,都会显示一条toast消息。代码如下。

代码语言:javascript
复制
public static final String outgoing = "android.intent.action.NEW_OUTGOING_CALL" ;
IntentFilter intentFilter = new IntentFilter(outgoing);
BroadcastReceiver OutGoingCallReceiver = new BroadcastReceiver()
{
    @Override
    public void onReceive(Context context, Intent intent) 
    {
        // TODO Auto-generated method stub
        String outgoingno = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
        Toast.makeText(context, "outgoingnum =" + outgoingno,Toast.LENGTH_LONG).show();
    }
};
registerReceiver(brForOutgoingCall, intentFilter);
票数 13
EN

Stack Overflow用户

发布于 2015-06-12 23:47:59

创建一个新类,假设MyPhoneReceiver,从BroadcastReceiver扩展了它,并实现了onReceive方法。

代码语言:javascript
复制
public class MyPhoneReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent){

        String phoneNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);

    }
}

在另一个类中,假设在onCreate方法中使用MainActivity.class。例如。

代码语言:javascript
复制
    IntentFilter filter = new IntentFilter("android.intent.action.NEW_OUTGOING_CALL");
    MyPhoneReceiver myPhoneReceiver = new MyPhoneReceiver();
    registerReceiver(myPhoneReceiver,filter);

AndroidManifest.xml

代码语言:javascript
复制
<receiver
   android:name=".MyPhoneReceiver">
   <intent-filter>
     <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
  </intent-filter>
</receiver>

还可以在AndroidManifest.xml中添加:

代码语言:javascript
复制
<uses-permission
    android:name="android.permission.PROCESS_OUTGOING_CALLS">
</uses-permission>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6611197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档