如何调用系统应用程序获取联系人详细信息
How to call the system app for contacts' detail
我知道下面的代码可以调用系统activity获取联系人列表。
public void showSystemContactsUI(int requestCode) {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, requestCode);
}
我的问题是如何调用系统UI获取联系人的详细信息,如附件截图,谢谢。
您可以使用以下代码片段。在显示其详细信息之前,您需要找到目标联系人 ID。
Uri uri = ContactsContract.Contacts.CONTENT_URI;
uri = Uri.withAppendedPath(uri, "1"); // 1 is contact id
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
创建 class 调用它 IntentHelper 并将所有相关功能放入您的系统(例如 Dial-Number ,Send-SMS , View-in-Browser , ... ) 像这样:
public class IntentHelper {
public static void dialNumber(Context context, String number) {
if (((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE)).getPhoneType() != TelephonyManager.PHONE_TYPE_NONE) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", number, null));
context.startActivity(intent);
}
}
public static void sendEmail(Context context, String email) {
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", email, null));
context.startActivity(Intent.createChooser(emailIntent, "Send email..."));
}
public static void viewInBrowser(Context context, String url) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
if (null != intent.resolveActivity(context.getPackageManager())) {
context.startActivity(intent);
}
}
public static void shareOnSocials(Context context, String videoUrl) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, videoUrl);
context.startActivity(Intent.createChooser(intent, "share on "));
}
}
我知道下面的代码可以调用系统activity获取联系人列表。
public void showSystemContactsUI(int requestCode) {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, requestCode);
}
我的问题是如何调用系统UI获取联系人的详细信息,如附件截图,谢谢。
您可以使用以下代码片段。在显示其详细信息之前,您需要找到目标联系人 ID。
Uri uri = ContactsContract.Contacts.CONTENT_URI;
uri = Uri.withAppendedPath(uri, "1"); // 1 is contact id
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
创建 class 调用它 IntentHelper 并将所有相关功能放入您的系统(例如 Dial-Number ,Send-SMS , View-in-Browser , ... ) 像这样:
public class IntentHelper {
public static void dialNumber(Context context, String number) {
if (((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE)).getPhoneType() != TelephonyManager.PHONE_TYPE_NONE) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", number, null));
context.startActivity(intent);
}
}
public static void sendEmail(Context context, String email) {
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", email, null));
context.startActivity(Intent.createChooser(emailIntent, "Send email..."));
}
public static void viewInBrowser(Context context, String url) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
if (null != intent.resolveActivity(context.getPackageManager())) {
context.startActivity(intent);
}
}
public static void shareOnSocials(Context context, String videoUrl) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, videoUrl);
context.startActivity(Intent.createChooser(intent, "share on "));
}
}