1

コンテキスト: 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ですか?

4

0 に答える 0