相关疑难解决方法(0)

从小部件启动活动

我正在尝试做一些真正应该很容易的事情,但它让我发疯.我正在尝试在按下主屏幕窗口小部件时启动活动,例如窗口小部件的配置活动.我想我已经在Android开发者网站上一字不差地跟着教程,甚至还有一些非官方的教程,但我必须遗漏一些重要的东西,因为它不起作用.

这是代码:

public class VolumeChangerWidget extends AppWidgetProvider {

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds){
    final int N = appWidgetIds.length;

    for (int i=0; i < N; i++) {
        int appWidgetId = appWidgetIds[i];

        Log.d("Steve", "Running for appWidgetId " + appWidgetId);
        Toast.makeText(context, "Hello from onUpdate", Toast.LENGTH_SHORT);
        Log.d("Steve", "After the toast line");

        Intent intent = new Intent(context, WidgetTest.class);

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

        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
        views.setOnClickPendingIntent(R.id.button, pendingIntent);

        appWidgetManager.updateAppWidget(appWidgetId, views);
    }
}
Run Code Online (Sandbox Code Playgroud)

}

将小部件添加到主屏幕时,Logcat会显示两条调试行,但不会显示Toast.(任何想法为什么不呢?)然而,更令人烦恼的是,当我点击与PendingIntent相关联的按钮时,根本没有任何事情发生.我知道"WidgetTest"活动可以运行,因为如果我在主活动中设置了一个Intent,它就会启动.

如果重要,这里是Android Manifest文件:

<manifest …
Run Code Online (Sandbox Code Playgroud)

android android-widget

36
推荐指数
3
解决办法
4万
查看次数

标签 统计

android ×1

android-widget ×1