Как прервать неупорядоченную трансляцию (входящий звонок) в android? - PullRequest
2 голосов
/ 04 марта 2012

Я пытаюсь заменить экран входящего вызова Android. Вот способ, которым я пытаюсь;

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

Manifest:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.cemtuver.fullycid"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <application android:icon="@drawable/icon" android:label="@string/app_name" android:enabled="true">
        <receiver android:name=".FullycidReceiver">
        <intent-filter> 
                <action android:name="android.intent.action.PHONE_STATE"></action>
            </intent-filter>
        </receiver>
    </manifest>

FullycidReceiver:

public class FullycidReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Bundle bundle = intent.getExtras();

    if (bundle!=null) {
        String state = bundle.getString(TelephonyManager.EXTRA_STATE);
        Log.w("FULLYCID DEV LOG - STATE", state);

        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
            setResultData(null);
            abortBroadcast();
        }
    }
}

}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...