Запустите Activity при первом запуске виджета - PullRequest
0 голосов
/ 07 июля 2011

Я хотел бы запустить Activity, когда пользователь добавляет виджет на панель запуска.Как я могу это сделать?

Метод onReceive вызывается слишком часто.А с onEnabled он просто не запускается.

Как я могу это сделать?

Tkx

Ответы [ 2 ]

1 голос
/ 12 июня 2013

Виджет Не имеет метода OnCreate (). Вместо этого у него есть метод onEnabled ().

    @Override
    public void onEnabled (Context context){
    super.onEnabled(context);

    Toast.makeText(context, "Launching Config Activity", Toast.LENGTH_SHORT).show();

    //Launching the Widget Config Activity on creating widget first time
    myIntent = new Intent(context, ConfigActivity.class);
    //Needed because activity is launched from outside another activity
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    myIntent.putExtra("WIDGET_SIZE", "default");
    context.startActivity(myIntent);
    }

Помните, что вам нужно добавить виджет на домашний экран с помощью кода после завершения конфигурации с необходимыми изменениями.

Подробнее здесь: http://developer.android.com/guide/topics/appwidgets/index.html

1 голос
/ 07 июля 2011

Я не уверен в этом, я еще не создал виджет, но я думаю, что когда вы создаете виджет, вызывается метод widgets onCreate ().Попробуйте поместить туда startActivity (Intent) и посмотрите, сработает ли это.

...