2015-07-01 6 views
1

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

ответ

2

Использование действия PHONE_STATE для обнаружения входящих вызовов ..

добавить это проявить

<receiver android:name="com.example.YourReceiver" > 
      <intent-filter> 
       <action android:name="android.intent.action.PHONE_STATE" /> 
      </intent-filter> 
     </receiver> 

И приемник

public class YourReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 

    if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) { 
     // This code will execute when the phone has an incoming call 



    } else if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
      TelephonyManager.EXTRA_STATE_IDLE) 
      || intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
        TelephonyManager.EXTRA_STATE_OFFHOOK)) { 
     // This code will execute when the call is disconnected 


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