오늘 내 테이블에 버그가있는 것을 알아 내려고 시도 중입니다. 나는 java/android를 위해 많은 것을 개발하지 못했지만 어쨌든 이것을 알아 내려고하고있다.Android 이전 호
나는 직장 동료가 개발 한 안드로이드 앱을 가지고있다. 현재 앱은 2.2에서 작동합니다. 그러나 2.3으로 실행하면 앱이 실패합니다.
telecompany 스위치 내에서 전화 걸기를 도와주는 앱입니다.
그래서 어떻게됩니까?
사람 A (내부 번호 001)는 Mr X로부터 전화를받습니다. 사람 A 대답 및 sais 안녕하세요 사람 B (내부 번호 002)이이 문제에 대해 잘 알고 있습니다! 너를 데려다 줄께!
사람 A는 휴대 전화에서 002로 전화를 걸고 약 10 분 (통화가 끝나고 통화가 시작될만큼 충분히 오래 기다린 후) 전화 번호 4 (내부 텔레콤 전화 전송 명령)로 다시 전화를 걸어 MR.X를 사람에게 전송합니다 B.
이것은 짧은 목록에있는 사람을 클릭하여 응용 프로그램 않습니다.
먼저 호출 인 B는 10 SEK 전화 번호 4.
//Initial Call(002)
public void callNumber(String callnum){
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+callnum));
startActivity(intent);
if(isAutomaticTransfer && stateString.equals("Off Hook")){
_initTask = new InitTask();
_initTask.execute(this);
}
}
및 언급이 2.2에서 작동하는 것에
protected class InitTask extends AsyncTask<Context, Integer, Integer>{
@Override
protected Integer doInBackground(Context... arg0) {
try {
Thread.sleep(delayLength);
Intent intentTransfer = new Intent(Intent.ACTION_CALL);
intentTransfer.setData(Uri.parse("tel:" + transfernum));
intentTransfer.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intentTransfer);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
지연.
그러나 2.3에서는 다음 스택 추적을 얻습니다.
/ActivityManager( 61): Starting: Intent { act=android.phone.extra.NEW_CALL_IN
TENT dat=tel:xxx-xxx-xxxx flg=0x10000000 cmp=com.android.phone/.SipCallOptionHan
dler (has extras) } from pid 123
V/SipCallOptionHandler( 123): Call option is SIP_ADDRESS_ONLY
I/ActivityManager( 61): Starting: Intent { act=android.intent.action.CALL dat=
tel:xxx-xxx-xxxx flg=0x10000000 cmp=com.android.phone/.InCallScreen (has extras)
} from pid 123
D/CallManager( 123): hasBgCall: false sameChannel:true
D/dalvikvm( 123): GC_CONCURRENT freed 305K, 48% free 3199K/6151K, external 6585
K/6853K, paused 14ms+5ms
D/dalvikvm( 61): GREF has increased to 401
D/dalvikvm( 123): GC_EXTERNAL_ALLOC freed 8K, 49% free 3191K/6151K, external 59
27K/6853K, paused 63ms
W/InputManagerService( 61): Starting input on non-focused client com.android.i
[email protected] (uid=10035 pid=343)
D/dalvikvm( 130): GC_EXPLICIT freed 135K, 50% free 2949K/5895K, external 5959K/
7152K, paused 75ms
I/ActivityManager( 61): Starting: Intent { act=android.intent.action.CALL dat=
tel:xxx-xxx-xxxx flg=0x10000000 cmp=com.android.phone/.OutgoingCallBroadcaster }
from pid 343
D/PhoneUtils( 123): checkAndCopyPhoneProviderExtras: some or all extras are mis
sing.
D/PhoneUtils( 123): checkAndCopyPhoneProviderExtras: some or all extras are mis
sing.
I/ActivityManager( 61): Starting: Intent { act=android.phone.extra.NEW_CALL_IN
TENT dat=tel:xxx-xxx-xxxx flg=0x10000000 cmp=com.android.phone/.SipCallOptionHan
dler (has extras) } from pid 123
V/SipCallOptionHandler( 123): Call option is SIP_ADDRESS_ONLY
I/ActivityManager( 61): Starting: Intent { act=android.intent.action.CALL dat=
tel:xxx-xxx-xxxx flg=0x10000000 cmp=com.android.phone/.InCallScreen (has extras)
} from pid 123
W/PhoneUtils( 123): Exception from phone.dial()
W/PhoneUtils( 123): com.android.internal.telephony.CallStateException: cannot d
ial in current state
W/PhoneUtils( 123): at com.android.internal.telephony.CallManager.dial(CallM
anager.java:704)
W/PhoneUtils( 123): at com.android.phone.PhoneUtils.placeCall(PhoneUtils.jav
a:539)
W/PhoneUtils( 123): at com.android.phone.InCallScreen.placeCall(InCallScreen
.java:2667)
W/PhoneUtils( 123): at com.android.phone.InCallScreen.internalResolveIntent(
InCallScreen.java:1188)
W/PhoneUtils( 123): at com.android.phone.InCallScreen.onNewIntent(InCallScre
en.java:1126)
W/PhoneUtils( 123): at android.app.Instrumentation.callActivityOnNewIntent(I
nstrumentation.java:1119)
W/PhoneUtils( 123): at android.app.ActivityThread.deliverNewIntents(Activity
Thread.java:1722)
W/PhoneUtils( 123): at android.app.ActivityThread.performNewIntents(Activity
Thread.java:1734)
W/PhoneUtils( 123): at android.app.ActivityThread.handleNewIntent(ActivityTh
read.java:1742)
W/PhoneUtils( 123): at android.app.ActivityThread.access$2300(ActivityThread
.java:117)
W/PhoneUtils( 123): at android.app.ActivityThread$H.handleMessage(ActivityTh
read.java:978)
W/PhoneUtils( 123): at android.os.Handler.dispatchMessage(Handler.java:99)
W/PhoneUtils( 123): at android.os.Looper.loop(Looper.java:123)
W/PhoneUtils( 123): at android.app.ActivityThread.main(ActivityThread.java:3
683)
W/PhoneUtils( 123): at java.lang.reflect.Method.invokeNative(Native Method)
W/PhoneUtils( 123): at java.lang.reflect.Method.invoke(Method.java:507)
W/PhoneUtils( 123): at com.android.internal.os.ZygoteInit$MethodAndArgsCalle
r.run(ZygoteInit.java:839)
W/PhoneUtils( 123): at com.android.internal.os.ZygoteInit.main(ZygoteInit.ja
va:597)
W/PhoneUtils( 123): at dalvik.system.NativeStart.main(Native Method)
W/InCallScreen( 123): placeCall: PhoneUtils.placeCall() FAILED for number '4'.
W/InCallScreen( 123): onNewIntent: status CALL_FAILED from internalResolveInten
t()
W/InputManagerService( 61): Window already focused, ignoring focus gain of: co
[email protected]
D/dalvikvm( 125): GC_CONCURRENT freed 255K, 51% free 2844K/5767K, external 2219
K/2674K, paused 6ms+94ms
그래서이 문제에 많은 시간을 투자하기 전에이 문제에 대한 간단한 해결책이 있는지 묻습니다.
감사합니다.
편집 : 나는이 절차를 수작업으로 수행하려고 시도했다. (incomming 호출을 사용하고, 보류 상태로두고, 동료에게 전화를 걸어서 숫자 4를 다시 전송하여 호출한다.) 앱과 동일한 오류가 발생한다. 그렇다면 안드로이드는 모바일 스위치 보드의 기능을 차단 했습니까?
편집 :이 버그는 Google에서 화를 낼 수있는 "바닐라"Android 휴대 전화에만 영향을줍니다. HTC 삼성 doesnt는 그것을 가지고있다! 확인 된 사례 : Nexus S
안드로이드 2.2에서 정상적으로 작동합니까?이 문제는 송수신 전화가 둘 이상인 경우에만 발생하므로 ... 2.2에 대해 다시 확인하고 저희에게 알려주십시오 .. – Dinash
그것은 2.2에서 작동합니다. 우리는 작업 응용 프로그램을 가지고 있고 사람들은 그것을 사용하고 있습니다. 2.3에 액세스 할 수없는 사람들 만 사용하고 있습니다. – Anders
아무것도 없습니까? : ((((((( – Anders