我在我的主要活动中运行的普通类文件(不是活动)中有一个方法,我也想从我的主屏幕小部件运行它。
只要应用程序在后台打开,窗口小部件中的按钮就能完美运行。如果我从最近的任务中关闭应用程序,按钮将停止工作。
我想我也需要点击按钮启动应用程序,但我不希望它打开主要活动,只需运行该方法。我怎么能这样做?
以下是我的小部件代码:
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();
}
}
}