BroadcastReceiverWithCallbacks


abstract class BroadcastReceiverWithCallbacks<T : CallbackReceiver?> : BroadcastReceiver, CallbackReceiver


Extend this broadcast receiver to be able to receive callbacks as well as normal broadcasts. Ensure that you call the super of onReceive when the action is ACTION_BROADCAST_CALLBACK.

Parameters
<T : CallbackReceiver?>

Should be specified as the root class (e.g. class X extends BroadcastReceiverWithCallbacks\)

Summary

Constants

const String!
ACTION_BROADCAST_CALLBACK = "androidx.remotecallback.action.BROADCAST_CALLBACK"

The action used for incoming RemoteCallbacks.

Public constructors

Public functions

T!

Creates a RemoteCallback that will call the method with method specified with the arguments specified when triggered.

Unit
onReceive(context: Context!, intent: Intent!)

Constants

ACTION_BROADCAST_CALLBACK

Added in 1.0.0-alpha02
const val ACTION_BROADCAST_CALLBACK = "androidx.remotecallback.action.BROADCAST_CALLBACK": String!

The action used for incoming RemoteCallbacks.

Public constructors

BroadcastReceiverWithCallbacks

Added in 1.0.0-alpha02
BroadcastReceiverWithCallbacks()

Public functions

createRemoteCallback

Added in 1.0.0-alpha02
fun createRemoteCallback(context: Context!): T!

Creates a RemoteCallback that will call the method with method specified with the arguments specified when triggered. Only methods tagged with RemoteCallable can be used here. This method returns a stub implementation of the class calling it to record the arguments/method being used. This should only be used in a chain of 2 calls, starting with createRemoteCallback(), then followed up with a call to any method tagged with RemoteCallable.

    createRemoteCallback().callMyMethod("My arguments", 43, 2.4)
             .toPendingIntent(context);
    \@RemoteCallable
    public RemoteCallback callMyMethod(String argStr, int argInt, double argDouble) {
        ...
        return RemoteCallback.LOCAL;
    }

onReceive

Added in 1.0.0-alpha02
fun onReceive(context: Context!, intent: Intent!): Unit