Я хочу создать виджет с изображением, который запускается при нажатии на кнопку Видео-звонок в Whatsapp для контакта
Я начал вчера с android studio. Я классифицировал следующее решение:
- Создание виджета с ImageView. (сделано)
- Сделайте ImageView кликабельным и добавьте событие + обработчик. (сделано)
- Запустите видеовызов WhatsApp: Whatsapp Doku , Stack-Posts Это то, что я положил в событие. Но ничего не работает, возникают следующие ошибки:
Виджет не загружается. Код не компилируется. Я не могу найти ответы на эти две ошибки в следующем fct: // MakeWhatsAppVideoCall () и GetWhatsappID ()
public void StartVideoCall_onClick(Context context) {
System.out.println(("Activated"));
long tempID = GetWhatsAppID("123456789");
MakeWhatsAppVideoCall(tempID);
}
public long GetWhatsAppID(String contactNumber) {
//String contactNumber = "Your Contact Number"; // to change with real value
Cursor cursor = **context**.getContentResolver()
*//Error
//cannot RESOLVE symbol 'context' <-------------------------
//*
.query(
ContactsContract.Data.CONTENT_URI,
new String[] {
ContactsContract.Data._ID
},
ContactsContract.RawContacts.ACCOUNT_TYPE + " = 'com.whatsapp' " +
"AND " + ContactsContract.Data.MIMETYPE + " = 'vnd.android.cursor.item/vnd.com.whatsapp.video.call' " +
"AND " + ContactsContract.CommonDataKinds.Phone.NUMBER + " LIKE '%" + contactNumber + "%'",
null,
ContactsContract.Contacts.DISPLAY_NAME
);
if (cursor == null) {
// throw an exception
}
long id = -1;
while (cursor.moveToNext()) {
id = cursor.getLong(cursor.getColumnIndex(ContactsContract.Data._ID));
}
if (!cursor.isClosed()) {
cursor.close();
}
return id;
}
public void MakeWhatsAppVideoCall(long id) {
Intent c_intent = new Intent();
c_intent.setAction(Intent.ACTION_VIEW);
c_intent.setDataAndType(Uri.parse("content://com.android.contacts/data/" + id), "vnd.android.cursor.item/vnd.com.whatsapp.voip.call");
c_intent.setPackage("com.whatsapp"); //send intent directly
startActivity(c_intent); //<-------------instance c_intent is underlined!!!!
*//startActivity doesnt accept c_intent:
// Errorcode: method startActivity in class ContextCompat cannot be applied to given types;
//required: Context,Intent,Bundle
//found: Intent
//reason: actual and formal argument lists differ in length*
}
Коды ошибок: Ошибка
C: \ Users \ xxx \ AndroidStudioProjects \ Start_Video_Call \ app \ src \ main \ java \ com \ example \ start_video_call \ VideoCallWidget. java: 60: ошибка: не удается найти символ Курсор курсора = context.getContentResolver () ^ символ: переменный контекст
C: \ Users \ xxxx \ AndroidStudioProjects \ Start_Video_Call \ app \ src \ main \ java \ com \ example \ start_video_call \ VideoCallWidget. java: 98: ошибка: метод startActivity в классе ContextCompat нельзя применить к данным типам; startActivity (c_intent); ^ требуется: контекст, намерение, пакет найден: намерение