Как запустить приложение Unity из активности Android?

android unity3d

5687 просмотра

2 ответа

21 Репутация автора

Я новичок в Unity и действительно не понимаю, как запустить приложение Unity из активности Android. Мне нужен виджет, который иногда меняется (например, при получении смс) и по щелчку запускает приложение Unity. Нет проблем с виджетом и проектом Unity по отдельности. Но я не знаю, как начать единство с Android-проекта.

Автор: user966562 Источник Размещён: 07.10.2011 11:58

Ответы (2)


0 плюса

325 Репутация автора

Вы можете расширить основное действие UnityPlayerActivity (контролировать основной цикл для Unity Player на Android)

public class MainActivity extends UnityPlayerActivity implements MyFunction {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    @Override
    protected void onStop() {
        super.onStop();
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }


}

Вот документ

Автор: Maadiah Размещён: 18.11.2013 04:53

0 плюса

1 Репутация автора

Я вызываю кнопку «Запустить приложение из виджета», и она мне помогает. Я вызываю 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);
    }
}

}

Автор: Roman Malkov Размещён: 14.08.2016 03:34
Вопросы из категории :
32x32