2013-04-08 5 views
2

Мы используем приложение для Android, чтобы сделать некоторые оценки, когда асессор прибывает на сайт, им нужно войти в кабинет при вызове. Theres ссылочный номер, на который мне действительно хотелось бы оставаться на дисплее телефона, когда они звонят.Нажатие экрана телефонного звонка в фоновом режиме во время звонка

Что было бы идеальным - это диалоговое окно, в котором указано число сверху экрана дозвона.

Я пытался это сделать, но он просто обгоняет диалог и показывает экран вызова. Нужно ли все-таки нажать на номер дозвона и продолжить показывать пользователю диалог?

Вот что я до сих пор:

public void makecall(View view){ 
    try { 
     Intent callIntent = new Intent(Intent.ACTION_CALL); 
     callIntent.setData(Uri.parse("tel:NUMBER")); 
     startActivity(callIntent); 
     Toast.makeText(getApplicationContext(), "TEST",Toast.LENGTH_LONG).show(); 
     AlertDialog.Builder adb = new AlertDialog.Builder(this); 
     adb.setTitle("Alert"); 
     adb.setMessage("Client Reference Blah Blah"); 
     adb.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 

      } 
     }); 
     adb.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       dialog.cancel(); 
      } 
     }); 
     adb.show();   
    } catch (ActivityNotFoundException activityException) { 
     Throwable e = null; 
     Log.e("helloandroid dialing example", "Callfailed", e); 
    } 
} 
+0

Извините, кто-то исправил форматирование в редактировании для меня. – TMB87

ответ

4

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

Смотрите ответ здесь: Android - How to display a dialog over a native screen?

для того, как вы можете укладывать (новый) деятельность выглядеть как диалог, хотя, который даст вам тот же визуальный эффект вы после этого.

После создания нового вида деятельности, используя параметры, показанные в этом вопросе, то вы можете запустить его с startActivity после запуска callIntent

public void makecall(View view){ 
    try { 
     Intent callIntent = new Intent(Intent.ACTION_CALL); 
     callIntent.setData(Uri.parse("tel:NUMBER")); 
     startActivity(callIntent); 
     Toast.makeText(this, "TEST",Toast.LENGTH_LONG).show(); 

     Runnable showDialogRun = new Runnable() { 
      public void run(){ 
       Intent showDialogIntent = new Intent(this, DialogActivity.class); 
       startActivity(showDialogIntent); 
      } 
     }; 
     Handler h = new Handler(); 
     h.postDelayed(showDialogRun, 2000); 
    } catch (ActivityNotFoundException activityException) { 
     Throwable e = null; 
     Log.e("helloandroid dialing example", "Callfailed", e); 
    } 
} 

Отсрочки диалогового startActivity на секунду или две, кажется, делают его более скорее всего, всплеск на экране телефона.

+0

Привет, Спасибо. Я попробовал это предложение на другом месте и выполнил вышеуказанный код, однако он по-прежнему загружает диалоговое окно за экраном вызова, а затем, когда я заканчиваю вызов, показывает мне диалог – TMB87

+0

Tis samsung galaxy s3 – TMB87

+0

Это то, на что похожа моя деятельность – TMB87

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