Android 应用程序小部件在单击小部件后未启动主活动

Android 应用程序小部件在单击小部件后未启动主活动,android,android-activity,configuration,android-widget,Android,Android Activity,Configuration,Android Widget,我想创建一个带有配置活动的应用程序小部件,问题是当我将小部件添加到主页时,会显示配置活动,但当我单击“配置”按钮时,主活动不会启动。。。。当我点击小部件时,什么也没发生。我的主要活动中没有错误。因为如果我启动应用程序,它不会出现任何错误。。。 我不知道我做错了什么:)非常感谢你的帮助 代码如下: public class WidgetConfiguration extends Activity{ final Context context = this; EditText url; EditTe

我想创建一个带有配置活动的应用程序小部件,问题是当我将小部件添加到主页时,会显示配置活动,但当我单击“配置”按钮时,主活动不会启动。。。。当我点击小部件时,什么也没发生。我的主要活动中没有错误。因为如果我启动应用程序,它不会出现任何错误。。。 我不知道我做错了什么:)非常感谢你的帮助

代码如下:

public class WidgetConfiguration extends Activity{
final Context context = this;
EditText url;
EditText password;
int mAppWidgetId;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setResult(RESULT_CANCELED);
    initializeAppWidget();
    showConfigDlg();
    final Context context = WidgetConfiguration.this;
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
    RemoteViews views = new RemoteViews(context.getPackageName(),
            R.layout.widget_layout);

}

private void initializeAppWidget(){ 
    Intent intent = getIntent();
    Bundle extras = intent.getExtras();
    if (extras != null) {
        mAppWidgetId = extras.getInt(
                AppWidgetManager.EXTRA_APPWIDGET_ID, 
                AppWidgetManager.INVALID_APPWIDGET_ID);
    }
    if (mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
         finish();
    }
}

private void showConfigDlg(){
    setContentView(R.layout.widget_config);
    ((Button) findViewById(R.id.saveBtn)).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d("blablabla", "setting the onClick1");
            AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
            RemoteViews views = new RemoteViews(context.getPackageName(),
                    R.layout.widget_layout);
            appWidgetManager.updateAppWidget(mAppWidgetId, views);
            Intent resultValue = new Intent();
            resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
            setResult(RESULT_OK, resultValue);
            finish();
        }
    });
}
}


public class WidgetProvider extends AppWidgetProvider
 {
public void onUpdate(Context context, AppWidgetManager appWidgetManager,  
          int[] appWidgetIds) {  
    final int N = appWidgetIds.length;
    Log.d("blablabla", "setting the onClick2");
    // Perform this loop procedure for each App Widget that belongs to this provider
    for (int i=0; i<N; i++) {
        int appWidgetId = appWidgetIds[i];
        Log.d("blablabla", "setting the onClick3");
        // Create an Intent to launch ExampleActivity
        Intent intent = new Intent(context, MainActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

        // Get the layout for the App Widget and attach an on-click listener
        // to the button
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
        views.setOnClickPendingIntent(R.id.button, pendingIntent);


        // Tell the AppWidgetManager to perform an update on the current app widget
        appWidgetManager.updateAppWidget(appWidgetId, views);
       }
    } 
 }
公共类WidgetConfiguration扩展活动{
最终上下文=此;
编辑文本url;
编辑文本密码;
int-mAppWidgetId;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setResult(结果被取消);
初始化AppWidget();
showConfigDlg();
final Context Context=WidgetConfiguration.this;
AppWidgetManager AppWidgetManager=AppWidgetManager.getInstance(上下文);
RemoteView视图=新的RemoteView(context.getPackageName(),
R.layout.widget_布局);
}
private void initializeAppWidget(){
Intent=getIntent();
Bundle extras=intent.getExtras();
如果(附加值!=null){
mAppWidgetId=extras.getInt(
AppWidgetManager.EXTRA\u APPWIDGET\u ID,
AppWidgetManager。无效的\u APPWIDGET\u ID);
}
if(mAppWidgetId==AppWidgetManager.INVALID\u APPWIDGET\u ID){
完成();
}
}
私有void showConfigDlg(){
setContentView(R.layout.widget_config);
((按钮)findviewbyd(R.id.saveBtn)).setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
Log.d(“blabla”,“设置onClick1”);
AppWidgetManager AppWidgetManager=AppWidgetManager.getInstance(上下文);
RemoteView视图=新的RemoteView(context.getPackageName(),
R.layout.widget_布局);
UpdateAppWidgetManager.UpdateAppWidgetId(mAppWidgetId,视图);
意向结果值=新意向();
结果值.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,mAppWidgetId);
setResult(结果_OK,结果值);
完成();
}
});
}
}
公共类WidgetProvider扩展了AppWidgetProvider
{
public void onUpdate(上下文上下文,AppWidgetManager AppWidgetManager,
int[]appWidgetIds){
final int N=appWidgetIds.length;
Log.d(“blabla”,“设置onClick2”);
//对属于此提供商的每个应用程序小部件执行此循环过程
对于(int i=0;i