Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓小部件中未调用onReceive_Java_Android_Android Widget - Fatal编程技术网

Java 安卓小部件中未调用onReceive

Java 安卓小部件中未调用onReceive,java,android,android-widget,Java,Android,Android Widget,当按下按钮时,我无法让我的代码在我的小部件中点击onReceive方法。我很确定清单中的所有设置都是正确的,所有代码都是正确的。我是否遗漏了一些东西,或者我必须添加一些东西到清单中才能使其生效 清单 <?xml version="1.0" encoding="utf-8"?> } 提供商 <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth

当按下按钮时,我无法让我的代码在我的小部件中点击onReceive方法。我很确定清单中的所有设置都是正确的,所有代码都是正确的。我是否遗漏了一些东西,或者我必须添加一些东西到清单中才能使其生效

清单

<?xml version="1.0" encoding="utf-8"?>
}

提供商

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="294dp"
android:updatePeriodMillis="100000"
android:initialLayout="@layout/main">

错过了演出();敬辞:-)


问题出在我的
pendingent
im使用
getActivity
而不是
getBroadcast

很好!然而,我仍然无法通过按下按钮获得OnReceive方法。我认为这是不可能的tbh。你想达到什么目标?我想你是从错误的方向来的。我想给我的按钮设置一个onClickListener。我知道这在小部件中是不可能的,我认为正确的处理方法就是我上面所说的。
public class Widget extends AppWidgetProvider {
public static String REFRESH = "Refresh";
public static String PAGE_NEXT = "Next";
public static String PAGE_PREV = "Previous";
RemoteViews remoteViews;
ComponentName kWidget;

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {

    remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);

    Intent intent = new Intent(context, getClass());
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
            intent, 0);

    intent.setAction(REFRESH);
    pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    remoteViews.setOnClickPendingIntent(R.id.refresh, pendingIntent);

    intent = new Intent(context, getClass());
    intent.setAction(PAGE_NEXT);
    pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    remoteViews.setOnClickPendingIntent(R.id.next, pendingIntent);

    intent = new Intent(context, getClass());
    intent.setAction(PAGE_PREV);
    pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    remoteViews.setOnClickPendingIntent(R.id.prev, pendingIntent);

    kWidget = new ComponentName(context, Widget.class);
    super.onUpdate(context, appWidgetManager, appWidgetIds);
    appWidgetManager.updateAppWidget(kWidget, remoteViews);

}

@Override
public void onReceive(Context context, Intent intent) {

    Toast.makeText(context, "here", Toast.LENGTH_LONG);
    super.onReceive(context, intent);
}
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="294dp"
android:updatePeriodMillis="100000"
android:initialLayout="@layout/main">
Toast.makeText(context, "here", Toast.LENGTH_LONG).show();