我完全是Android编程的新手,我试图点击一个工作的Android小部件:
public class MyWidget extends AppWidgetProvider {
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds)
{
// Loop through all widgets
for(int i=0;i < appWidgetIds.length;i++) {
int appWigedid = appWidgetIds[i];
// Create an intent to launce something
Intent intent = new Intent(context,TestActivity.class);
PendingIntent pendingintent = PendingIntent.getActivity(context, 0, intent, 0);
// Get the layout for the app widget and attach on click listener
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.initial_layout);
views.setOnClickPendingIntent(R.id.UselessMessage, pendingintent);
views.setTextViewText(R.id.UselessMessage,"This text is useless");
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(appWigedid,views);
}
}
我的TestActivity类只是一个存根,因为它仍然试图找出它的调用方式。
public class TestActivity extends Activity {
@Override
protected void onStart() {
System.out.println("On Start called!");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("on create called!");
};
}
Text的设置有效。但是TestAcitivity的onStart方法永远不会执行(其他sysout消息可以工作)。当我点击小部件安卓日志时:
12-25 17:17:43.054 1279 1392 I ActivityManager: Starting activity: Intent { flg=0x10000000 cmp=org.rfc1149.android.simple/.TestActivity bnds=[120,272][360,371] }
表示活动已创建,但onCreate不起作用。
答案 0 :(得分:1)
确保您的清单中定义了TestActivity
。
答案 1 :(得分:0)
你的onCreate()方法确实有效,并且会登录到可以在DDMS透视图上查看的LogCat(如果你使用Eclipse)。要使你的onStart()方法起作用,你必须在你的覆盖中调用super.onStart() onStart()方法。
答案 2 :(得分:0)
使用Log.d("myTAG", "debug text")
代替System.out.println("debug text")