嗨,我从来没有用过小工具,但我想要做的是创建一个非常简单的小工具,我基本上想做一个1个小工具,只有一个图标,只是一个图像设置为背景没有文字只是一个小图标,当图标被按下时,我想打开一个活动。基本上,我想在窗口小部件窗体中打开另一个图标,就像打开另一个活动而不是主窗体一样。 非常感谢任何帮助Android简单小工具启动活动
3
A
回答
9
我的供应商最终看上去像这样大量的研究后,玩
public class WidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, ClassToLaunchHere.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setOnClickPendingIntent(R.id.widget, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
0
几个应用窗口小部件实现,显示最简单的方法来做到这一点是可见的https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget。
具体而言,https://github.com/commonsguy/cw-advandroid/blob/master/AppWidget/PairOfDice/src/com/commonsware/android/appwidget/dice/AppWidget.java显示了如何使用PendingIntent作为Button的onClick目标。你可以让你的PendingIntent开始一个活动,你应该很好去。
0
声明一个变量
public static String YOUR_AWESOME_ACTION = "YourAwesomeAction";
然后添加的onUpdate和的onReceive
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
ComponentName thisWidget = new ComponentName(context, DigitalClock.class);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.digital_clock);
for (int widgetId : appWidgetManager.getAppWidgetIds(thisWidget)) {
remoteViews.setOnClickPendingIntent(R.id.imageView, getPendingSelfIntent(context, YOUR_AWESOME_ACTION));
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
}
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
super.onReceive(context, intent);
if (YOUR_AWESOME_ACTION.equals(intent.getAction())) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.digital_clock);
ComponentName watchWidget = new ComponentName(context, DigitalClock.class);
appWidgetManager.updateAppWidget(watchWidget, remoteViews);
Intent ntent = new Intent(context, MainActivity.class);
ntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(ntent);
//Toast.makeText(context, YOUR_AWESOME_ACTION, Toast.LENGTH_SHORT).show();
}
}
protected PendingIntent getPendingSelfIntent(Context context, String action) {
Intent intent = new Intent(context, getClass());
intent.setAction(action);
return PendingIntent.getBroadcast(context, 0, intent, 0);
}
,并添加活动在清单
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
希望这将有助于
相关问题
- 1. 保存简单化的Android小工具在整个重新启动
- 2. 如何在点击我的小工具时启动活动?
- 3. android启动工具包
- 4. Android:从选项菜单启动活动
- 5. Android:单击小部件时不会启动活动
- 6. 具有多个配置活动的一个小工具(Android)
- 7. Android启动启动错误的活动
- 8. Android:服务启动活动
- 9. Android无法启动活动
- 10. android classcastexception在活动启动
- 11. android活动何时启动
- 12. Android:无法启动活动
- 13. Android启动模态活动
- 14. Android活动重新启动
- 15. Android仪器启动活动
- 16. android条件启动活动
- 17. Android活动重启
- 18. 在活动中使用小工具
- 19. 用小工具关闭旧活动
- 20. WordPress的小工具自动激活
- 21. 简单的Android活动导致崩溃
- 22. RNDIS小工具无法启动
- 23. 所有活动中的Android工具栏
- 24. Android - 三星:创建配置活动失败的小工具
- 25. Android活动自动启动 - 不需要
- 26. 在android中动态启动活动
- 27. Android中的动态启动活动?
- 28. Android发布简历活动
- 29. 访问AppWidgetHost以从我的程序活动中启动“添加小工具”活动
- 30. 从启动菜单/工具栏按钮
好吧,我跟着这个链接,以一个小部件添加背景和删除文本等我看着你的链接,但还是无法弄清楚把正是在供应商类发起一个意图我的活动 http://androidcore.com/android-programming-tutorials/606.html – GFlam 2011-06-15 16:31:15