Страница 1 из 1

Intent.ACTION_CALL - ActivityNotFoundException

Добавлено: 08 янв 2016, 15:03
Delphian
Коллеги, добрый день.

Есть следующий вопрос. Я использую tablayout. В одном из табов есть список контактов (это фрагмент), при нажатии на контакт я хочу чтобы начинался звонок. Сами фрагменты в таб подгружаются через FragmentPagerAdapter. Код клика на контакт следующий:

mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
try {
String callNumber = mNumber.get(position);
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse(callNumber));
startActivity(callIntent);
}catch (ActivityNotFoundException e){
Log.e(TAG,e.toString());
}
}
});

Никакого звонка не происходит, а вылетает ошибка Activity Not Found, хотя до этого в этом же фрагменте я использовал getActivity() без проблем и даже пытался писать разные формы старт активити, например, getActivity().startActivity(callIntent), но это не помогло.

Может кто знает в чём проблема? Заранее, спасибо!

Re: Intent.ACTION_CALL - ActivityNotFoundException

Добавлено: 08 янв 2016, 15:18
Delphian
Полдня копался, чтобы найти причину в интентах и активити, а оказалось, что банально потерял "tel:". Магический форум, как только опубликовал вопрос, сазу нашёл ответ)) В общем, если кому надо правильный код:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
try {
String callNumber = mNumber.get(position);
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+callNumber));
startActivity(callIntent);
}catch (ActivityNotFoundException e){
Log.e(TAG,e.toString());
}
}
});

Re: Intent.ACTION_CALL - ActivityNotFoundException

Добавлено: 08 янв 2016, 20:54
Night_Scream
ты про теги знаешь? :evil: