AppWidgetProviderWithCallbacks

class AppWidgetProviderWithCallbacks<T : CallbackReceiver?> : AppWidgetProvider, CallbackReceiver


Version of AppWidgetProvider that implements a CallbackReceiver.

Parameters
<T : CallbackReceiver?>

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

Summary

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!)

Inherited functions

From android.appwidget.AppWidgetProvider
Unit
onAppWidgetOptionsChanged(
    context: Context!,
    appWidgetManager: AppWidgetManager!,
    appWidgetId: Int,
    newOptions: Bundle!
)
Unit
onDeleted(context: Context!, appWidgetIds: IntArray!)
Unit
onDisabled(context: Context!)
Unit
onEnabled(context: Context!)
Unit
onRestored(
    context: Context!,
    oldWidgetIds: IntArray!,
    newWidgetIds: IntArray!
)
Unit
onUpdate(
    context: Context!,
    appWidgetManager: AppWidgetManager!,
    appWidgetIds: IntArray!
)
From android.content.BroadcastReceiver

Public constructors

AppWidgetProviderWithCallbacks

Added in 1.0.0-alpha02
AppWidgetProviderWithCallbacks()

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

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