- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个小部件,当应用程序在后台运行时它运行良好。但是当我用应用程序管理器终止应用程序时,小部件不会触发点击事件。然后我重新打开应用程序,小部件仍然没有触发点击事件。有什么想法吗?
public class Widget extends AppWidgetProvider {
private ArrayList<Widget> widgets;
private static String listing1 = "";
private static String listing2 = "";
private static String listing3 = "";
private static String listing4 = "";
private static String listing5 = "";
RemoteViews views;
public void onUpdate(final Context context, final AppWidgetManager appWidgetManager, final int[] appWidgetIds) {
Log.i("ExampleWidget", "Updating widgets " + Arrays.asList(appWidgetIds));
// Perform this loop procedure for each App Widget that belongs to this
HashMap<String, String> params = new HashMap<>();
params.put("islem", "recommendation");
ServiceConnector.secretcvAPI.getWidgetItems(params, new SuccessCallback<GetWidgetResponse>() {
@Override
public void success(GetWidgetResponse getWidgetResponse, Response response) {
widgets = getWidgetResponse.widgets;
for (int appWidgetId : appWidgetIds) {
listing1 = widgets.get(0).ilan_id;
listing2 = widgets.get(1).ilan_id;
listing3 = widgets.get(2).ilan_id;
listing4 = widgets.get(3).ilan_id;
listing5 = widgets.get(4).ilan_id;
// Get the layout for the App Widget and attach an on-click listener
// to the button
views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setOnClickPendingIntent(R.id.listing1, getPendingSelfIntent(context, widgets.get(0).ilan_id, appWidgetId));
views.setOnClickPendingIntent(R.id.listing2, getPendingSelfIntent(context, widgets.get(1).ilan_id, appWidgetId));
views.setOnClickPendingIntent(R.id.listing3, getPendingSelfIntent(context, widgets.get(2).ilan_id, appWidgetId));
views.setOnClickPendingIntent(R.id.listing4, getPendingSelfIntent(context, widgets.get(3).ilan_id, appWidgetId));
views.setOnClickPendingIntent(R.id.listing5, getPendingSelfIntent(context, widgets.get(4).ilan_id, appWidgetId));
views.setTextViewText(R.id.listingNameTV, widgets.get(0).firma.isim);
views.setTextViewText(R.id.listingNameTV2, widgets.get(1).firma.isim);
views.setTextViewText(R.id.listingNameTV3, widgets.get(2).firma.isim);
views.setTextViewText(R.id.listingNameTV4, widgets.get(3).firma.isim);
views.setTextViewText(R.id.listingNameTV5, widgets.get(4).firma.isim);
views.setTextViewText(R.id.positionNameTV, widgets.get(0).ilan_baslik);
views.setTextViewText(R.id.positionNameTV2, widgets.get(1).ilan_baslik);
views.setTextViewText(R.id.positionNameTV3, widgets.get(2).ilan_baslik);
views.setTextViewText(R.id.positionNameTV4, widgets.get(3).ilan_baslik);
views.setTextViewText(R.id.positionNameTV5, widgets.get(4).ilan_baslik);
Picasso.with(context)
.load("http:" + widgets.get(0).firma.logo)
.into(views, R.id.widgetIV, new int[]{appWidgetId});
Picasso.with(context)
.load("http:" + widgets.get(1).firma.logo)
.into(views, R.id.widgetIV2, new int[]{appWidgetId});
Picasso.with(context)
.load("http:" + widgets.get(2).firma.logo)
.into(views, R.id.widgetIV3, new int[]{appWidgetId});
Picasso.with(context)
.load("http:" + widgets.get(3).firma.logo)
.into(views, R.id.widgetIV4, new int[]{appWidgetId});
Picasso.with(context)
.load("http:" + widgets.get(4).firma.logo)
.into(views, R.id.widgetIV5, new int[]{appWidgetId});
// Tell the AppWidgetManager to perform an update on the current app
// widget
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
});
}
private PendingIntent getPendingSelfIntent(Context context, String action, int appWidgetId) {
Intent intent = new Intent(context, getClass());
intent.setAction(action);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
return PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (listing1.equals(intent.getAction())){
startApplciationWithIntent(context, listing1);
}
else if (listing2.equals(intent.getAction())){
startApplciationWithIntent(context, listing2);
}
else if (listing3.equals(intent.getAction())){
startApplciationWithIntent(context, listing3);
}
else if (listing4.equals(intent.getAction())){
startApplciationWithIntent(context, listing4);
}
else if (listing5.equals(intent.getAction())){
startApplciationWithIntent(context, listing5);
}
}
private void startApplciationWithIntent(Context context, String ilanid){
Intent i = new Intent(context, LoggedOutActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Bundle bundle = new Bundle();
bundle.putString("DeepLink", ilanid);
i.putExtras(bundle);
context.startActivity(i);
}
}
list
<!-- Widget-->
<receiver android:name=".Widget" android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget" />
</receiver>
最佳答案
我目前也在寻找解决方案,希望这会有所帮助:
如果你查看 soundcloud 的小部件,你会注意到当应用程序被终止时,
所以,我在想,您应该运行一个服务,该服务会在用户单击小部件时首先启动您的应用。
关于android - 当应用程序被杀死时,应用程序小部件点击不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32826279/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!