android小部件的作用,Android中的可点击小部件

开发人员文档似乎使我失败了。我可以不假思索地创建一个静态窗口小部件,甚至可以创建一个会自动更新的类似模拟时钟窗口小部件的窗口小部件,但是,我一辈子都无法弄清楚如何创建一个在用户单击时做出反应的窗口小部件。它。这是开发人员文档提供的小部件活动应包含的内容的最佳代码示例(唯一的其他提示是API演示,它仅创建一个静态小部件):

public class ExampleAppWidgetProvider extends AppWidgetProvider {

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

final int N = appWidgetIds.length;

// Perform this loop procedure for each App Widget that belongs to this provider

for (int i=0; i

int appWidgetId = appWidgetIds[i];

// Create an Intent to launch ExampleActivity

Intent intent = new Intent(context, ExampleActivity.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.appwidget_provider_layout);

views.setOnClickPendingIntent(R.id.button, pendingIntent);

// Tell the AppWidgetManager to perform an update on the current App Widget

appWidgetManager.updateAppWidget(appWidgetId, views);

}

}

}

来自:Android开发人员文档的小部件页面

因此,看起来像单击小部件时调用了挂起的意图,这是基于一种意图的(我不太确定意图和挂起的意图之间的区别是什么),并且该意图是用于ExampleActivity类的。因此,我将示例活动类设为一个简单的活动,在创建该活动时,将创建一个mediaplayer对象,然后启动它(它永远不会释放该对象,因此最终会崩溃,这是代码:

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);

mp.start();

}

但是,当我将小部件添加到主屏幕并单击它时,没有任何播放,实际上,当我将更新计时器设置为仅几百毫秒(在appwidget提供程序xml文件中)时,没有任何播放。此外,我设置了断点,不仅发现它永远不会到达活动,而且我设置的断点也不会触发。(我仍然没有弄清楚为什么会这样),但是,logcat似乎表明活动类文件正在运行。

因此,有什么我可以做的事情来使Appwidget响应点击?由于onClickPendingIntent()方法与onClick类型的方法最接近。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值