Java Android:在主屏幕小部件的单独类中运行方法
我在一个普通类文件(不是活动)中有一个从主活动运行的方法,我还想从主屏幕小部件运行它 只要应用程序在后台打开,小部件中的按钮就可以正常工作。如果我从最近的任务中关闭应用程序,按钮将停止工作 我想我也需要通过点击按钮启动应用程序,但我不希望它打开主活动,只需运行该方法。我该怎么做 以下是我的小部件代码:Java Android:在主屏幕小部件的单独类中运行方法,java,android,widget,Java,Android,Widget,我在一个普通类文件(不是活动)中有一个从主活动运行的方法,我还想从主屏幕小部件运行它 只要应用程序在后台打开,小部件中的按钮就可以正常工作。如果我从最近的任务中关闭应用程序,按钮将停止工作 我想我也需要通过点击按钮启动应用程序,但我不希望它打开主活动,只需运行该方法。我该怎么做 以下是我的小部件代码: public class PanicWidget extends AppWidgetProvider { public static final String CLICK_PANIC =
public class PanicWidget extends AppWidgetProvider {
public static final String CLICK_PANIC = "PANIC";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.panic_widget);
Intent intent = new Intent(context, PanicWidget.class);
intent.setAction(CLICK_PANIC);
PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
remoteViews.setOnClickPendingIntent(R.id.panicbutton, actionPendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
}
@Override
public void onReceive(Context context, Intent intent){
super.onReceive(context, intent);
if (CLICK_PANIC.equals(intent.getAction())){
Methods.countdown();
}
}
}
你能显示一下当前的代码来处理这个小部件的按钮吗?我已经编辑了我的文章来包含它,现在我更困惑了。我是在小部件的onReceive方法中设置操作,还是在布局文件中按钮的onClick函数中设置操作?或者两者都有?只是想澄清一下,当你点击按钮时会发生什么?Methods.countdown()是否运行?是的,但只有在后台打开我的应用程序时,它才会运行。如果我将其从最近的应用程序中删除,则会出现“不幸的是,应用程序已停止”错误。