2013-07-16 3 views
1

Мне нужно позвонить в фоновом режиме в моем приложении, поэтому, когда пользователь нажимает кнопку, он должен начать звонить в фоновом режиме, пользователь будет знать, что он звонит, но он не увидит Dialer, он увидит приложение, чтобы воспроизводить звуки во время вызова.INTENT.ACTION_CALL в фоновом режиме

Поэтому в основном то, что я хочу сделать вызов без выхода активности

I судимого с сервисом, но он не работает

Intent callIntent = new Intent(Intent.ACTION_CALL); 
callIntent.setData(Uri.parse("tel:123456789")); 
startService (callIntent); 

Извинит о моем английском

+1

вы не можете сделать это – tasomaniac

ответ

1

Попробуйте это:

Intent callIntent = new Intent(Intent.ACTION_CALL); 
callIntent.setData(Uri.parse("tel:123456789")); 
startActivity(callIntent); 

* Обратите внимание: startActivity(callIntent), вместо startService(callIntent);.

Вы также можете поэкспериментировать с ACTION_DIAL, а не ACTION_CALL. Вам также нужно это разрешение, но поместить его перед тегом приложения в AndroidManifest:

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

ТНХ для ответа, но я знаю, что это то, что я хочу сделать это в фоновом режиме – D4rWiNS

+0

Да, но нет другого способа сделать телефон и он был спроектирован так. Поэтому, если вы хотите сделать телефонный звонок, вы делаете это с помощью «Intent», который открывает другое действие. – g00dy

1

Код За:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    call(); 
} 

private void call() { 
    try { 
     Intent callIntent = new Intent(Intent.ACTION_CALL); 
     callIntent.setData(Uri.parse("tel:123456789")); 
     startActivity(callIntent); 
    } catch (ActivityNotFoundException e) { 
     Log.e("sample call in android", "Call failed", e); 
    } 
} 

Manifest.xml
Добавить ..

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

or,

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

EDIT: Ну tasomaniac сделал хороший пункт о существующей текущей деятельности, которая OP также хочет.

Поэтому в основном то, что я хочу сделать вызов без выхода активности.

Но это невозможно сделать что-либо во время состояний вызова интерфейса телефонии в android.One возможным хорошее решение будет PhoneStateListener видеть, когда вызов завершается, а затем возобновить текущую activity.Some очень хорошие решения описаны. .

+0

Это приведет к выходу из текущей активности. – tasomaniac

+0

Правда, это закончится с текущей деятельностью, и я увидел приложение, которое сделало звонок на фоне, так что это возможно – D4rWiNS

+0

Вы пытаетесь изменить то, что я редактировал? – ridoy

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