コンテキスト: API レベル 28 でのみ使用できる新しいACTION_APP_BLOCK_STATE_CHANGEDブロードキャストを使用しようとしてIntent
います。通常、API レベル固有のコードを扱うときは、次のようにします。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
//call new API
}
しかし、 AndroidManifest.xmlBroadcastReceiver
ファイルに s が設定されているため、同様のことを行う方法がわかりません。
また、この例のように、 AndroidManifest.xmlBroadcastReceiver
で定義されているように、Android OS はインテントの受信と関連する呼び出しを処理するようです。しかし、私の懸念は、古い SDK (API レベル 26 Oreo など) で実行されているアプリケーションに対してそれを呼び出そうとするため、アプリケーションがクラッシュすることです。
public class MyReceiver extends BroadcastReceiver {
public MyReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Action: " + intent.getAction(), Toast.LENGTH_SHORT).show();
}
}
API レベル固有の Broadcast を処理するにはどうすればよいIntent
ですか?