如何在Android应用程序中显示来电通知

Aks*_*ata 6 android

我希望在来电后显示一个对话框,以便我可以在接听电话时在后台运行我的应用程序.

如何在Android应用程序中捕获该来电???

def*_*hlt 6

在AndroidManifest.xml中,你应该做一个接收器:

<receiver android:name="IncomingCallInterceptor">                    
    <intent-filter>
         <action android:name="android.intent.action.PHONE_STATE"/>   
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

并声明许可:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Run Code Online (Sandbox Code Playgroud)

然后,

public class IncomingCallInterceptor extends BroadcastReceiver {


@Override 
public void onReceive(final Context context, Intent intent) {                                         
    String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);                         


    if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) {                                   

        // Phone is ringing

    }


}

}
Run Code Online (Sandbox Code Playgroud)


har*_*ara 2

也许这个广播意图正是您需要的ACTION_PHONE_STATE_CHANGED