要求:当我第一次点击小部件时,这将重定向到登录页面。一旦我成功登录,从下次开始,通过点击小部件,它应该直接将我带到主页而不重定向到再次登录页面(我想为此使用意图和共享首选项)。
我无法将意图从主页上的小部件传递到另一个 java 文件。当用户第一次启动小部件时,这是我的看法:
public class MyWidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager
,int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
for(int i=0;i<appWidgetIds.length;i++){
int appWidgetId = appWidgetIds[i];
SharedPreferences settings = context.getSharedPreferences("MYPREFS",0);
//Create a pending intent for a widget click
Intent intent = new Intent(context,TheMainActivity.class);
//TheMainActivity is the class to which the intent is needed to be sent
intent.putExtra("logid",settings.getString("logid", ""));
intent.putExtra("password",settings.getString("password", ""));
PendingIntent pIntentNetworkInfo = PendingIntent.getActivity(context, 0,
intent, 0);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
R.layout.activity_main);
remoteViews.setOnClickPendingIntent(R.id.update, pIntentNetworkInfo);
appWidgetManager.updateAppWidget(appWidgetId, remoteViews);
}
}
}
最初“logid”和“password”是NULL。因此它会重定向到登录页面。但是一旦用户登录,然后从下一次我运行小部件时它应该自动重定向到主页。所以让我们说
if(logid=="xyz" && password=="abc")
那么它应该直接重定向到主页。我不知道我应该在哪里为此编写代码(即重定向到显示主页的另一个意图onUpdate
)。它应该用方法编写onEnabled
还是用哪个方法编写?我是新手,所以如果解释不是很好,请不要打我。