2015-11-16 5 views
1

В Android App я использую следующий код, чтобы сделать телефонные звонки:Android Studio, предупреждение исключения безопасности

@Override 
      public void onClick(View arg0) { 

       ParseQuery<ParseObject> query = ParseQuery.getQuery("datos_contacto"); 
       query.whereEqualTo("tipo_contacto", "celular"); 
       query.findInBackground(new FindCallback<ParseObject>() { 
        public void done(List<ParseObject> scoreList, ParseException e) { 
         if (e == null) { 
          int len = scoreList.size(); 
          for (int i = 0; i < len; i++) { 
           ParseObject p = scoreList.get(i); 
           String numero = p.getString("dato_contacto"); 

           Log.d("score", "Celular: " + numero); 

           Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + numero)); 

           startActivity(intent); 

          } 
         } else { 
          Log.d("score", "Error: " + e.getMessage()); 
         } 
        } 
       }); 


      } 

     }); 

В строке

startActivity(intent); 

редактор показывает красное подчеркивание, и предупреждение об ошибке : «Звонок требует разрешения, которое может быть отклонено пользователем ...»

Я могу запустить приложение без исключений, но я хочу удалить это предупреждение, если это возможно.

я включил следующие строки в AndroidManifest:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 

Любая помощь приветствуется.

+1

Это происходит через/и API 23. Пользователь может отклонить это разрешение. Вы должны проверить это и показать диалог, предупреждение или сообщить пользователю, что если он отклонит это разрешение, функция не будет работать. –

+0

@MarianoZorrilla, спасибо. Редактор предлагает добавить строку: if (checkSelfPermission (Manifest.permission.CALL_PHONE)! = PackageManager.PERMISSION_GRANTED) {.. я должен включить туда тост или что-то подобное, сообщив пользователю, что он отклонил разрешение на создание звонки из приложения? – mvasco

+1

Точно! Тост или любое другое предупреждение :) –

ответ

Смежные вопросы