首次启动窗口小部件时启动活动

时间:2011-07-07 13:15:12

标签: android android-activity android-intent widget

当用户在启动器上添加小部件时,我想启动一个Activity。 我怎么能这样做?

onReceive方法过于频繁地调用。 而使用onEnabled,它根本无法启动。

我该怎么做?

TKX

2 个答案:

答案 0 :(得分:1)

我不确定这个,我还没有完成一个小部件,但我认为当你创建一个小部件时,会调用小部件onCreate()方法。尝试将startActivity(Intent)放在那里,看看是否有效。

答案 1 :(得分:1)

小部件没有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);
    }

请记住,在完成配置并进行必要的更改后,您需要使用代码将小部件添加到主屏幕。

Refer more here: http://developer.android.com/guide/topics/appwidgets/index.html