Как запустить настройку виджета после вывода на экран - PullRequest
0 голосов
/ 26 сентября 2010

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

remoteView.setOnClickPendingIntent(R.id.my_image,myWidget.makeControlPendingIntent(getApplicationContext(),BUTTON1,appWidgetId));
remoteView.setOnClickPendingIntent(R.id.TextViewBat,myWidget.makeControlPendingIntent(getApplicationContext(),BUTTON2,appWidgetId));

и перед этими 2 в начале службы код, чтобы выбрать, что делать:

if(command.equals(BUTTON1)){
        Intent firstIntent = new Intent(this, anotherActivity.class);
        firstIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(firstIntent); //THIS WORKS
    }
else if(command.equals(BUTTON2)){

        Toast.makeText(getApplicationContext(), "the prefs button is clicked",
                Toast.LENGTH_SHORT).show(); //THIS WORKS
        /*Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com"));
        myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(myIntent);*/  //THIS WORKS

        Intent myIntent = new Intent(this,myConfiguration.class);
        myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(myIntent); //* * * THIS CRASHES * * * *

    }

Насколько я могу судить, я не могу понять, как снова запустить процесс настройки. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 26 сентября 2010

Все, что вам нужно сделать, это позвонить getActivity() на PendingIntent для Intent, который является вашим действием по настройке, и связать это с чем-то в виджете приложения через setOnClickPendingIntent(). Вот пример проекта , демонстрирующий это.

...