目前,当我运行我的应用程序时,如果电话响起,电话将获得优先权,并且我的应用程序将被杀死.有什么方法可以使我的应用程序偏爱,即让电话打语音邮件或将我的应用程序在短时间内移至后台,直到用户接听电话,并在完成后回到前台.谢谢
解决方法:
你可以做一件事.您可以在来电期间暂停应用程序,然后再从同一位置恢复应用程序.我知道这不是您问题的确切解决方案,但是以某种方式,它将减少您的工作量.希望这会有所帮助.
private class PhoneCallListener extends PhonestateListener { private boolean isPhoneCalling = false; // needed for logging String TAG = "PhoneCallListener"; @OverrIDe public voID onCallStateChanged(int state, String incomingNumber) { if (TelephonyManager.CALL_STATE_RINGING == state) { // phone ringing Log.i(TAG, "RINGING, number: " + incomingNumber); } if (TelephonyManager.CALL_STATE_OFFHOOK == state) { // active Log.i(TAG, "OFFHOOK"); isPhoneCalling = true; } if (TelephonyManager.CALL_STATE_IDLE == state) { // run when class initial and phone call ended, // need detect flag from CALL_STATE_OFFHOOK Log.i(TAG, "IDLE"); if (isPhoneCalling) { Log.i(TAG, "restart app"); // restart call application Intent i = getBaseContext().getPackageManager() .getLaunchIntentForPackage( getBaseContext().getPackagename()); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_top | Intent.FLAG_ACTIVITY_SINGLE_top); startActivity(i); isPhoneCalling = false; } } } }
并将此权限添加到manifest.xml文件
<uses-permission androID:name="androID.permission.READ_PHONE_STATE" />
总结 以上是内存溢出为你收集整理的当手机在Android上响起时如何保持应用程序在后台运行全部内容,希望文章能够帮你解决当手机在Android上响起时如何保持应用程序在后台运行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)