2016-04-05 6 views
0

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; 


     } 
    } 
} 

Antwort

0

Das Problem war mit meinem Service, statt von Service-Verlängerung i von Intent-Service erweitert und OnDestroy wurde sofort aufgerufen und der Service war unmit- telbar registriert.