-1

要求:当我第一次点击小部件时,这将重定向到登录页面。一旦我成功登录,从下次开始,通过点击小部件,它应该直接将我带到主页而不重定向到再次登录页面(我想为此使用意图共享首选项)。

我无法将意图从主页上的小部件传递到另一个 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还是用哪个方法编写?我是新手,所以如果解释不是很好,请不要打我。

4

1 回答 1

1

您可以使用:

SharedPreferences settings = context.getSharedPreferences("MYPREFS",0);
String login=settings.getString("logid","0");
String pswrd=settings.getString("password","0");
if(login=="0" && pswrd=="0")
{
  // Pass Intent to LOGIN Activity       
}
else
{
// Pass intent to HOME Activity
}
于 2013-09-16T11:33:22.423 回答