Vui lòng tham khảo đoạn code dưới đây. (Làm việc kể từ ứng dụng của tôi)
public String getSkypeUsername(Context context, String name) {
Cursor c = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, ContactsContract.Contacts.Data.MIMETYPE + "=?",
new String[] { "vnd.android.cursor.item/com.skype.android.skypecall.action" }, null);
while (c != null && c.moveToNext()) {
String primary = c.getString(c.getColumnIndex(ContactsContract.Data.DISPLAY_NAME_PRIMARY));
String alternate = c.getString(c.getColumnIndex(ContactsContract.Data.DISPLAY_NAME_ALTERNATIVE));
if(primary.equalsIgnoreCase(name) || alternate.equalsIgnoreCase(name)) {
String username = c.getString(c.getColumnIndex(ContactsContract.Data.DATA1));
c.close();
return username;
}
}
c.close();
return null;
}
Tất cả bạn phải làm là gọi String username = getSkypeUsername (bối cảnh, "name_of_person_to_call"). Với điều này gọi tên makeSkypeCall (bối cảnh, tên người dùng)
public void makeSkypeCall(Context context, String username) {
Intent sky = new Intent("android.intent.action.VIEW");
sky.setData(Uri.parse("skype:" + username + "?call"));
context.startActivity(sky);
}
Hãy cho tôi biết nếu điều này giúp!
Còn một số lời khuyên về cách sử dụng uri để tìm kiếm thông tin này? – sanddune