我有一个ACTION_CALL意图活动,我想用代码停止。
问题存在于2.3.3当我结束通话时,它会转到通话记录,而不是直接返回到适用于4.1 +的应用程序。
我发现您可以使用finishActivity(requestCode)来完成对我的代码无效的活动。
这是我的代码:
startActivityForResult(callIntent, 2);
// when I call finishActivity here it works fine and activity ends immediately
// finishActivity(2);
if (endCall)
{
callEndTimer = new CountDownTimer(10000, 1000) //End call after 10 seconds
{
public void onTick(long millisUntilFinished)
{
}
public void onFinish()
{
// end the call
TelephonyManager tm = (TelephonyManager) getApplicationContext().getSystemService(
Context.TELEPHONY_SERVICE);
Class<?> c;
try
{
c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
Object telephonyService = m.invoke(tm);
c = Class.forName(telephonyService.getClass().getName());
m = c.getDeclaredMethod("endCall");
m.setAccessible(true);
m.invoke(telephonyService);
// Call ends here so I know the code is working
// When I call finishActivity(2) here the activity doesn't end and continues to go to the call logs
finishActivity(2);
} catch (Exception e)
{
e.printStackTrace();
}
}
}.start();
}
有关为什么我不能结束活动的任何想法?
答案 0 :(得分:0)
如果您在班级中延长Activity
,只需拨打finish()
,即可停止活动。