Я пытаюсь заменить экран входящего вызова 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();
}
}
}
}
Я прочитал статью, в которой говорится, что широковещательная рассылка входящего вызова не транслируется, поэтому приоритет широковещания не важен, и широковещание не может быть прервано.