1.手机插入普通SIM卡
2.登录邮箱并添加邮箱地址到SIM卡中;
3.发现邮箱地址没有添加进入,只添加进了姓名或电话号码
这是Google Default行为,在保存时,会进行安全检查,发现有不合法的字段时会自动过滤掉该字段。
对于Sim卡,不支持Email字段,所以会过滤掉该字段。
如果不想要这样的行为,想修改为当发现保存的内容中有Email字段,就不显示出SIM帐号,可按如下方式修改。
一共需要修改3个文件:
1. com.android.contacts.editor.ContactEditorFragment
找到Intent intent = new Intent(mContext, ContactEditorAccountsChangedActivity.class);
在其下面添加一行:intent.putExtra("data", mIntentExtras);
2.com.android.contacts.activities.ContactEditorAccountsChangedActivity
找到mAccountListAdapter = new AccountsListAdapter(this, AccountListFilter.ACCOUNTS_CONTACT_WRITABLE);
在其下面添加一行:mAccountListAdapter.filterAccountWithBundle(getIntent().getBundleExtra("data"));
3.com.android.contacts.util.AccountsListAdapter
在该文件中添加这个方法:
public void filterAccountWithBundle(Bundle bundle){
if(bundle == null){
return;
}
String email = bundle.getString("email");
if(!TextUtils.isEmpty(email)){
int count = getCount();
for (int i = count - 1; i >= 0; i--) {
if (mAccounts.get(i).type.equals("SIM Account")) {
mAccounts.remove(i);
}
}
}
}