相关疑难解决方法(0)

在Android中检索来电的电话号码

我想检索来电的电话号码,并像http://blog.whitepages.com/2009/02/27/caller-id-by-whitepages-a-new-android-app-中的那样做.即,看跌期权-电话销售上的警报/

能不能请你帮忙,因为我找不到任何关于此的信息.我从哪里开始,如何掌握电话号码?


好的,目前我的代码如下所示.当我拨打电话时,CustomBroadcastReceiver捕获它并打印出日志消息.我可以从捆绑中检索电话号码.但!我不能让他的CustomPhoneStateListener工作.正如您所看到的,我已将customPhoneState侦听器注册到接收器,但日志消息永远不会从CustomPhoneStateListener类中打印出来.我在这里失踪了什么?我的想法是否正确?


<receiver android:name=".CustomBroadcastReceiver">
        <intent-filter>
            <action android:name="android.intent.action.PHONE_STATE" /> 
        </intent-filter>
</receiver>

</application>
<uses-sdk android:minSdkVersion="5" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Run Code Online (Sandbox Code Playgroud)
public class CustomPhoneStateListener extends PhoneStateListener {

private static final String TAG = "CustomPhoneStateListener";

public void onCallStateChange(int state, String incomingNumber){

    Log.v(TAG, "WE ARE INSIDE!!!!!!!!!!!");
    Log.v(TAG, incomingNumber);

    switch(state){
        case TelephonyManager.CALL_STATE_RINGING:
            Log.d(TAG, "RINGING");
            break;
    }   
}
Run Code Online (Sandbox Code Playgroud)
public class CustomBroadcastReceiver extends BroadcastReceiver {

private static final String TAG = "CustomBroadcastReceiver";

@Override
public void onReceive(Context context, Intent intent) …
Run Code Online (Sandbox Code Playgroud)

android telephonymanager phone-state-listener

44
推荐指数
2
解决办法
7万
查看次数

号码手机不显示onCallStateChanged Android

我已经创建了一个应用程序,我的应用程序有一个功能涉及获取手机号码手机,但我无法抓住号码手机,它是空的

我的服务

public int onStartCommand(Intent intent, int flags, int startId) {
    TelephonyMgr = (TelephonyManager) getSystemService(getApplicationContext().TELEPHONY_SERVICE);
    TelephonyMgr.listen(new PhoneCallListener(),PhoneStateListener.LISTEN_CALL_STATE);
return START_STICKY;
}
private class PhoneCallListener extends PhoneStateListener {

    private boolean isPhoneCalling = false;
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {

        if (TelephonyManager.CALL_STATE_RINGING == state) {
            // phone ringing
            Log.i("NMC", "RINGING, number: " + incomingNumber);
        }
        if (TelephonyManager.CALL_STATE_OFFHOOK == state) {
            Log.i("NMC", "RINGING, number: " + incomingNumber);
            isPhoneCalling = true;
        }
        if (TelephonyManager.CALL_STATE_IDLE == state) {
            Log.i("NMC", "IDLE number");

        }
    }
Run Code Online (Sandbox Code Playgroud)

} …

android telephony android-service telephonymanager phone-state-listener

5
推荐指数
0
解决办法
909
查看次数