Android应用程序小部件的编程功能

时间:2015-01-26 22:14:53

标签: android android-widget

我有一个简单的手电筒应用程序,我想通过简单地点击小工具来实现灯光开关功能。

现在,当我点击我的程序启动的小部件时,没关系,但最好直接从小部件访问我的应用程序的功能。

我想现在appwidgetprowider刚开始我的活动:

  

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

在我的手电筒的主要活动中,我通过

打开手机的LED
  

switchOnTheFlash()

方法

有没有人有想法,我怎么能从小部件启动这个方法?

谢谢你,最诚挚的问候!

1 个答案:

答案 0 :(得分:0)

打开手电筒不需要意图,因为它总会把你带到活动或动作的某个地方。最简单的方法是让switchOnTheFlash()函数static像这样 -

public static void switchOnTheFlash() {
    // Your Function
}

现在您可以通过任何活动调用此函数,就像 -

一样
YourACtivity.switchOnTheFlash();

如果出现错误 -

确保您在switchOnTheFlash()中使用的所有变量也应该静态,否则您将收到类似cannot use non-static variables in static function的错误(或者可能有点不同)

另一个错误,如果您使用getResources()等功能,则可能会出错。要摆脱,只需在全局范围内设置static Context mContext;并将其初始化为mContext = this;中的OnCreate。然后,只需在函数mContext.getResources()...中的任何位置替换switchOnTheFlash()

干杯!