Ich habe eine Nexus 5 Version 6.0.1 und wenn ich versuche, den ausgehenden Anruf zu fangen, kann ich es nicht abfangen, ich habe es auf einigen anderen Geräten wie LG G4 und Nexus 5 Version 6.0 und getestet es funktioniert gut, das einzige Problem ist mit meinem Gerät. Ich füge mein Manifest und meinen Code an. DankeIntent.ACTION_NEW_OUTGOING_CALL wird nie erwischt
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="innolert.kipmiservice">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<service android:name=".EventsService" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- BroadCastReceivers-->
<receiver android:name=".BroadCastReceivers.HardwareActionListener">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
<data android:scheme="package"/>
</intent-filter>
</receiver>
<receiver android:name=".BroadCastReceivers.AppNotificationReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package"/>
</intent-filter>
</receiver>
</application>
</manifest>
und mein Code:
public class HardwareActionListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
Log.d(Constants.TAG,action);
switch (action){
case Intent.ACTION_NEW_OUTGOING_CALL:
//HarwareManagementUtils.setBluetooth(true)
Log.d(Constants.TAG,"calling ....");
break;
}
}
}