我想检索来电的电话号码,并像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编程的先生,我正在尝试创建将短信记录到文件中的应用程序.Iam遇到问题"方法getContentResolver()未定义类型SMSObserver",我不知道为什么...
这是代码:
public class SMSObserver extends ContentObserver
{
SMSLogger smsLogger;
public SMSObserver(SMSLogger smsLogger) {
super(new Handler());
this.smsLogger = smsLogger;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
querySMS();
}
protected void querySMS() {
Uri uriSMS = Uri.parse("content://sms/");
Cursor cur = getContentResolver().query(uriSMS, null, null, null, null);
cur.moveToNext();
String body = cur.getString(cur.getColumnIndex("body"));
String add = cur.getString(cur.getColumnIndex("address"));
String time = cur.getString(cur.getColumnIndex("date"));
String protocol = cur.getString(cur.getColumnIndex("protocol"));
String out = "";
if (protocol == null)
out = "Sending to "+add + ".Time:"+time +" - "+body; …Run Code Online (Sandbox Code Playgroud)