朋友们,我正在尝试制作一个项目,其中我将来电号码与不同手机中保存的不同数字格式相匹配。 我能够匹配" + 919045308261" " +91 90 45 308261"但我希望匹配必须也适用于其他格式。我必须做什么,以便它可以工作在另一种格式?? ?? 我使用的代码是..
package com.example.matchnumbers;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity extends Activity {
String incomingcall = "+919045308261";
String str = "+91 90 45 308261";
String st1 = "0 90 45 308261";
String str2 = "90 45 308261";
String str3="9045308261";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
str = str.replaceAll("\\s+","");
if(incomingcall.equals(str)){
Toast.makeText(getApplicationContext(), "Hit occurs", Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
答案 0 :(得分:2)
这可以帮到你:
Buddy你可以使用ContentProvider
(用于比较PhoneNo和联系人)
Uri uri = Uri.withAppendedPath(Phones.CONTENT_FILTER_URL, Uri.encode("PhoneNo"));
String name = null;
Cursor cursor = context.getContentResolver().query(uri,
new String[] { Phones.DISPLAY_NAME }, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
name = cursor.getString(cursor.getColumnIndex(Phones.DISPLAY_NAME));
cursor.close();
}
以上代码将与联系人列表中的电话号码相匹配,如果电话号码存储在联系人中,则会返回联系人姓名...
如果您有两个字符串,并且想要比较它们,那么
String phone1;
String phone2;
if (PhoneNumberUtils.compare(phone1, phone2)) {
// code if both are same
}