日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android来电事件,android – 来电时没有响铃事件

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android来电事件,android – 来电时没有响铃事件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我不知道問題出在哪里.

監聽器沒有捕獲到鈴聲事件(所以我可以決定接受還是拒絕來電).

在清單中是這樣的:

在主要活動onCreate是這樣的:

IntentFilter filter = new IntentFilter();

filter.addAction("android.SipDemo.INCOMING_CALL");

callReceiver = new IncomingCallReceiver();

this.registerReceiver(callReceiver, filter);

...

SipManager manager = SipManager.newInstance(this);

Intent i = new Intent();

i.setAction("android.SipDemo.INCOMING_CALL");

PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, Intent.FILL_IN_DATA);

manager.open(me, pi, null);

在BroadcastReceiver類中是這樣的:

public void onReceive(Context context, Intent intent) {

SipAudioCall incomingCall = null;

try {

SipAudioCall.Listener listener = new SipAudioCall.Listener() {

...

@Override

public void onCallEnded(SipAudioCall call) {

// TODO Auto-generated method stub

super.onCallEnded(call);

}

@Override

public void onRinging(SipAudioCall call, SipProfile caller) {

try {

call.answerCall(30);

call.startAudio();

call.setSpeakerMode(true);

if(call.isMuted()) {

call.toggleMute();

}

} catch (Exception e) {

e.printStackTrace();

}

}

};

WalkieTalkieActivity wtActivity = (WalkieTalkieActivity) context;

incomingCall = wtActivity.manager.takeAudioCall(intent, listener);

wtActivity.call = incomingCall;

...

我收到CallEnd事件和onChanged(在我結束通話后),但我沒有收到關于鈴聲的事件.

什么可能是一個問題?

日Thnx

編輯:

我改變了一切.

我把新的意圖過濾器放到這樣的接收器(粗體):

**

**

我更改了BroadcastReceiver繼承類(粗體):

@Override

public void onReceive(Context context, Intent intent) {

try {

**PhoneStateListener phoneListener=new PhoneStateListener() {

@Override

public void onCallStateChanged(int state, String incomingNumber) {

// TODO Auto-generated method stub

Log.d("DEBUG", "Phone listener....");

String stateString = "N/A";

switch (state) {

case TelephonyManager.CALL_STATE_IDLE:

stateString = "Idle";

break;

case TelephonyManager.CALL_STATE_OFFHOOK:

stateString = "Off Hook";

break;

case TelephonyManager.CALL_STATE_RINGING:

stateString = "Ringing";

break;

}

}

};**

WalkieTalkieActivity wtActivity = (WalkieTalkieActivity) context;

SipSession ses=wtActivity.manager.getSessionFor(intent);

**TelephonyManager telephony = (TelephonyManager) Context.getSystemService(Context.TELEPHONY_SERVICE);

telephony.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);**

...

現在我只得到IDLE狀態,但仍然沒有響.

總結

以上是生活随笔為你收集整理的android来电事件,android – 来电时没有响铃事件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。