Я вызываю кнопку «Запустить приложение из виджета», и она мне помогает.
Я вызываю UpdateWidgetButtonsAction () из метода виджета onUpdate и устанавливаю для PendingIntent значение onClick.
private void UpdateWidgetButtonsAction(Context context, AppWidgetManager appWidgetManager, int widgetID)
{
RemoteViews widgetView = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
widgetView.setOnClickPendingIntent(R.id.MyButtonImage, getPendingSelfIntent(context, "ACTION_LOAD_APP"));
appWidgetManager.updateAppWidget(widgetID, widgetView);
}
затем создайте BroadcastReciever, который получает действие ACTION_LOAD_APP, и startActivity
public class WidgetBroadcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
LogCollector.Log("WidgetBroadcastReceiver " + intent.getAction());
if(ACTION_LOAD_APP.equals(intent.getAction()))
{
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("UNITY_PACKAGE_NAME");
context.startActivity(launchIntent);
}
}
}