手机通话后会出现Android启动屏幕
在我的应用程序中,我为用户提供了使用ACTION_call给某人打电话的选项。通话结束后,用户将返回应用程序,在那里他们停止了通话,但出现了启动屏幕。我不希望此时出现此启动屏幕 当我打开联系人列表并允许用户选择联系人时,也会发生同样的情况。选择联系人后,活动将返回到我的应用程序,并且闪屏再次出现,时间非常短,令人讨厌 如何防止启动屏幕在主活动以外的任何时间出现 非常感谢所有的帮助和想法。先谢谢你 编辑:手机通话后会出现Android启动屏幕,android,splash-screen,Android,Splash Screen,在我的应用程序中,我为用户提供了使用ACTION_call给某人打电话的选项。通话结束后,用户将返回应用程序,在那里他们停止了通话,但出现了启动屏幕。我不希望此时出现此启动屏幕 当我打开联系人列表并允许用户选择联系人时,也会发生同样的情况。选择联系人后,活动将返回到我的应用程序,并且闪屏再次出现,时间非常短,令人讨厌 如何防止启动屏幕在主活动以外的任何时间出现 非常感谢所有的帮助和想法。先谢谢你 编辑: private void openDeviceContactsForSelection()
private void openDeviceContactsForSelection()
{
//意向意向=新意向(Intent.ACTION\u PICK,Contacts contract.Contacts.CONTENT\u URI);
//意向意向=新意向(意向.行动\u获取\u内容);
//intent.setType(ContactsContract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE);
Intent Intent=新的Intent(Intent.ACTION\u PICK,Uri.parse(“content://contacts);//contacts contract.commonDataTypes.Phone.CONTENT\u URI);
intent.setType(电话内容类型);
startActivityForResult(意向,1);
}
@SuppressLint(“InlinedApi”)
@凌驾
ActivityResult上的公共无效(int-reqCode、int-resultCode、意图数据)
{
//待办事项
if(resultCode!=活动。结果\u确定)
返回;
字符串cName=“”;
字符串cNumber=“”;
Uri contactData=data.getData();
字符串displayColumnName;
if(android.os.Build.VERSION.SDK_INT<14)
displayColumnName=“display\u name”;
其他的
displayColumnName=Profile.DISPLAY\u NAME\u PRIMARY;
String[]projection={displayColumnName,Phone.NUMBER};
游标c=getContentResolver().query(contactData,projection,null,null,null);
if(c.moveToFirst())
{
cName=c.getString(c.getColumnIndex(displayColumnName));
cNumber=c.getString(c.getColumnIndex(Phone.NUMBER));
}
存储号码(cName、cNumber);
loadList(getSelectedNumberTypeAsEnum());
}
这里的问题是,当呼叫启动时,您的应用程序会被移动到后台。当应用程序返回时,将调用onResume()函数。您需要在通话开始时保存状态,并在应用程序再次启动时重新加载状态。我知道的最简单的方法是使用。需要提供更多信息,粘贴一些代码,除非你想听到答案“好吧,删除你的启动屏幕”。)粘贴更多的代码告诉我们从何处启动启动启动屏幕,以及当控件返回后台时应用程序的流程onResume()称为not onCreate(),谢谢!一个稍微简单一点的方法是在我的主要活动中将启动启动启动屏幕的调用更改为我的oncreate方法,这解决了我的问题。类似的想法。
private void openDeviceContactsForSelection()
{
//Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
// Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
// intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts")); //ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
intent.setType(Phone.CONTENT_TYPE);
startActivityForResult(intent, 1);
}
@SuppressLint("InlinedApi")
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data)
{
//TODO
if(resultCode != Activity.RESULT_OK)
return;
String cName = "";
String cNumber = "";
Uri contactData = data.getData();
String displayColumnName;
if(android.os.Build.VERSION.SDK_INT < 14)
displayColumnName = "display_name";
else
displayColumnName = Profile.DISPLAY_NAME_PRIMARY;
String[] projection = {displayColumnName, Phone.NUMBER};
Cursor c = getContentResolver().query(contactData, projection, null, null, null);
if (c.moveToFirst())
{
cName = c.getString(c.getColumnIndex(displayColumnName));
cNumber = c.getString(c.getColumnIndex(Phone.NUMBER));
}
saveNumber(cName, cNumber);
loadList(getSelectedNumberTypeAsEnum());
}