NEW_OUTGOING_CALL not being called on Samsung Galaxy S

后端 未结 4 1513
攒了一身酷
攒了一身酷 2021-01-13 10:00

Trying to intercept outgoing calls, and have a solution working well on

  • nexus 1 stock android 2.2
  • HTC desire 2.2
  • Moto defy 2.1
相关标签:
4条回答
  • 2021-01-13 10:21

    You need to add the user permission:

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

    See this blog post as an example of how to setup and use the NEW_OUTGOING_CALL.

    Also see this blog post as to what to set your android:priority to.

    0 讨论(0)
  • 2021-01-13 10:37

    Did you tried to increase android:priority? Let's say up to 10000.

    I was intercepting incoming SMS' and increasing of android:priority attribute was helpful

    0 讨论(0)
  • 2021-01-13 10:39

    Try putting the manifest in order as suggested by Google Dev: Manifest.xml

    Like this:

    <uses-permission />
    ...
    <receiver>
        <intent-filter> . . . </intent-filter>
        <meta-data />
    </receiver>
    

    There may be an issue in how some devices parse the Manifest and may not register the receiver correctly.

    EDIT: As of ADT 16 Lint will tell you that your permissions are in the wrong place, so I'm assuming this must be more of an issue then previously thought

    Cheers

    0 讨论(0)
  • 2021-01-13 10:43

    I created the broadcast listener programmatically. It works fine. For your reference.

    IntentFilter filter = new IntentFilter();
    filter.addAction("android.intent.action.NEW_OUTGOING_CALL");
    
    receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            Log.d(TAG, "onReceive, Action:" +intent.getAction());
        }
    };
    registerReceiver(receiver, filter);
    
    0 讨论(0)
提交回复
热议问题