当用户在启动器上添加小部件时,我想启动一个Activity。 我怎么能这样做?
onReceive方法过于频繁地调用。 而使用onEnabled,它根本无法启动。
我该怎么做?
TKX
答案 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