2011-04-25 63 views
1

我想我的應用程序每次打開時顯示的登錄屏幕。隨着android:clearTaskOnLaunch="true"一切工作正常。但是,只有在手機關機並且應用程序首次啓動時纔會出現一個錯誤。的Android AppWidget +安卓clearTaskOnLaunch =「真」

Intent intent = new Intent(context, StartActivity.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 
[....] 
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_onebyone) 
views.setOnClickPendingIntent(R.id.widget, pendingIntent); 

此代碼應該開始我的主要活動。一開始就是這樣。但結束與家庭的應用程序,並重新啓動與部件導致我的應用程序不開始我的初始活動,但與我的應用程序的另一個活動,而不顯示登錄屏幕。 我能做些什麼來解決它。 我試過

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 

但它不工作。我想要的是(重新) - 啓動的StartActivity意圖像startActivity(..),但我沒有發現任何選項給我的窗口小部件的OnClickListener這將啓動一個「正常」的活動。

最好的問候,

直到

回答

1

你有沒有嘗試添加旗的意圖:

Intent intent = new Intent(context, StartActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 
[....] 
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_onebyone) 
views.setOnClickPendingIntent(R.id.widget, pendingIntent); 

意向API

setFlags(int)

FLAG_ACTIVITY_CLEAR_TASK

+1

謝謝,由於API拉特7我用'Intent.FLAG_ACTIVITY_CLEAR_TOP'但它似乎很好地工作。 – Till 2011-04-25 19:52:31