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-alpha03
Deprecated in 1.0.0-alpha03
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-alpha03
Deprecated in 1.0.0-alpha03
BroadcastReceiverWithCallbacks()

Public functions

createRemoteCallback

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-alpha03
Deprecated in 1.0.0-alpha03
fun onReceive(context: Context!, intent: Intent!): Unit