발신자 번호를 수신하고 사이드 케이스로 쿼리하려면이 코드를 사용하십시오. TelephonyManager.CALL_STATE_RINGING
이미 발신자 번호를 얻었으나 앱에서 제공하는 경우 측면에서 쿼리를 수행하려고 할 때 내가 어느 날 문제수신 전화 번호 가져 오기 및 쿼리 - Android
를 해결하시기 바랍니다 도움이 될 수 있습니다 이유를 알 수없는 error 본 내 코드입니다
public class IncomingCallReciever extends BroadcastReceiver {
protected static final String TAG = "SWAJ";
private Context mContext;
private Intent mIntent;
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG ," onCallStateChanged ");
mContext = context;
mIntent = intent;
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
int events = PhoneStateListener.LISTEN_CALL_STATE;
tm.listen(phoneStateListener, events);
}
private final PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
SilentMeDB databaseHelper = new SilentMeDB(mContext);
SQLiteDatabase db = databaseHelper.getReadableDatabase();
Cursor c = db.query("events",null,null, null, null, null, null);
c.moveToFirst();
while(!c.isAfterLast())
{
try
{
Log.d(TAG, "Message is " + c.getString(c.getColumnIndex("Message")));
}
catch(Exception e)
{
Log.d("Exp", e.getMessage());
}
c.moveToNext();
} c.close();
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
}
super.onCallStateChanged(state, incomingNumber);
}
};
}
Welcome to Stackoverflow! 답변이 도움이된다면 투표하십시오. 응답으로 질문에 성공적으로 답변 한 경우 옆에있는 녹색 확인 표시를 클릭하여 대답을 수락하십시오. 또한 좋은 질문을 작성하는 방법에 대한 조언은 http://stackoverflow.com/questions/how-to-ask에서 확인하십시오 –
무엇이 오류입니까? 로그캣은 뭐라고 말합니까? –
@exilimex : logcat을 게시하십시오. – Hiral