Я опираюсь на Broadcastreceiver.Я объявил получатель в файле манифеста и имею класс MyBroadcastReceiver для получения намерения, но я не могу получить никакого намерения.Функция onRecive () никогда не вызывается, например, при изменении режима полета или при подключении или отключении наушников.Ниже приведен код для манифеста.
<receiver
android:name=".MyBroadCastReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.INPUT_METHOD_CHANGED" />
<action android:name="android.intent.action.HEADSET_PLUG" />
<action android:name="android.intent.action.AIRPLANE_MODE" />
</intent-filter>
</receiver>
Ниже приведен код для класса BroadCastReceiver.
public class MyBroadCastReceiver extends BroadcastReceiver {
private static final String TAG = "MyBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
StringBuilder sb = new StringBuilder();
sb.append("Action: " + intent.getAction() + "\n");
sb.append("URI: " + intent.toUri(Intent.URI_INTENT_SCHEME).toString() + "\n");
String log = sb.toString();
Log.d(TAG, log);
Toast.makeText(context, log, Toast.LENGTH_LONG).show();
}
}