Articles of 小部件

只更新更新方法中的当前Android小部件ID

我在android中生成一个widget,点击时会产生一个随机数。 当小部件独自在主屏幕上时,它可以很好地工作,但是当你添加多个小部件的时候,他们开始同时产生随机数。 发生什么事情是当一个单独的小部件被点击时,它会更新所有的部件; 导致许多随机数字。 我想要的是每个部件与其他部件隔离; 基本上当一个小部件被点击的时候,它只会更新自己而不是其他人。 我认为这可以通过获取当前窗口小部件的ID并只更新那个窗口来实现,就像update方法更新所有的窗口部件一样。 我该怎么做呢? 我的代码 @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // Get all ids ComponentName thisWidget = new ComponentName(context, MyWidgetProvider.class); int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget); for (int widgetId : allWidgetIds) { // Create some random data int number = (new Random().nextInt(100)); RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_layout); […]

检查小工具放置在Android屏幕上

有人能告诉我如何检查我的小部件已被放置在主屏幕上? 我在我的应用程序中有一些代码,只有在widget被放置在主屏幕上时才能运行。

与多个button的Android小部件

我已经开发了一个具有多个button的Android小部件。 它工作正常,我添加第一次。 但是当我重新启动设备button不会触发。 这是我所做的 这里是xmlconfiguration <receiver android:name="com.islem.widget.MyWidgetMain" android:label="@string/app_name"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> <!– Broadcast Receiver that will also process our self created action –> <action android:name="com.islem.widget.KalanWidgetMain.ACTION_WIDGET_RECEIVER1"/> <action android:name="com.islem.widget.KalanWidgetMain.ACTION_WIDGET_RECEIVER2"/> <action android:name="com.islem.widget.KalanWidgetMain.ACTION_WIDGET_RECEIVER3"/> <action android:name="com.islem.widget.KalanWidgetMain.ACTION_WIDGET_RECEIVER4"/> <action android:name="com.islem.widget.KalanWidgetMain.ACTION_WIDGET_RECEIVER5"/> <action android:name="com.islem.widget.KalanWidgetMain.ACTION_WIDGET_RECEIVER6"/> <action android:name="com.islem.widget.KalanWidgetMain.ACTION_WIDGET_RELOAD_ALARM"/> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/k_widget_provider" /> 这里是onUpdate方法 @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { for […]

Android小工具:如何在运行时将视图添加到RemoteViews

我想在运行时将线性布局的文本视图添加到我的小部件。 我做了如下: LinearLayout l = new LinearLayout(context); for (int i = 0; i < 10; i++) { TextView t = new TextView(context); t.setText("Hello"); l.addView(t); } RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main); RemoteViews view = new RemoteViews (context.getPackageName(), l.getId()); views.addView(R.layout.main, view); 但是,当我添加小部件,我得到一个问题加载小部件错误。 看起来像RemoteViews接收构造的视图id作为参数有问题。 但是我不能对XML资源进行引用,因为它们是在运行时创build的。 在运行时用TextViews填充RemoteViews的正确方法是什么?

使用PreferenceActivityconfiguration小部件,如何检索首选项?

我正在使用PreferenceActivity类来configuration我的小部件。 PreferenceActivity类自动保存用户的喜好,所以在小部件更新服务,我可以调用context.getSharedPreferences(),我获得用户的喜好。 问题是:如果你有很多相同types的小部件,PreferenceActivity类如何保存首选项? 我怎么能从sharedPreferences加载appWidgetId特定的首选项?

Android中的PDF Viewer Widget

我必须提供在我的应用程序中显示PDF文档的function,而无需使用任何外部PDF查看器。 我知道Android没有这样的小部件,WebView无法加载PDF文档。 所以我想知道,是否有任何可用的部件可用于显示活动中的PDF文档(就像WebView是用来显示网页)?

有没有办法把一个EditText /input字段放入主屏幕小部件?

我希望我的用户在主屏幕上input一些东西,但是每次我添加一个EditText到它打破的部件。 我做了一些谷歌search,发现他们显然不支持小部件。 在每个Android手机上都有一个Googlesearch小部件,所以我想知道是否有任何方法在我的小部件中有一个。 提前致谢 编辑:我注意到,谷歌search栏实际上没有input,而只是打开一个触摸的活动。 但是还有其他的应用程序,如FriendStream,它们的小部件都有input部分。

仅在没有Jelly Bean的情况下在小部件中崩溃setTextViewTextSize

我正在制作一个小部件,您可以在其中指定文本大小 controles.setTextViewTextSize(R.id.LblMsg,TypedValue.COMPLEX_UNIT_SP,textSize); 我正在使用android 4.1 android:minSdkVersion =“8”android:targetSdkVersion =“16” 问题是,它在Android 4.1中正常工作,但在任何其他版本(ICS,姜饼等)显示强制closures。 java.lang.NoSuchMethodError:android.widget.RemoteViews.setTextViewTextSize 如果我删除了使用“setTextViewTextSize”的代码行,则应用程序可以正常工作。 我找不到有关此错误原因的信息。 我感谢任何帮助。 问候

Android 3.0,Widget预览

在Honeycomb中,当您单击主屏幕上的“添加”选项时,某些系统应用程序会对该小部件进行“预览”。 我怎样才能将我的小部件的缩略图/预览添加到我的应用程序中,以便用户在Honeycomb中添加它时可以感受到它的外观?

Android 3.1中可调整的appwidgets

我很高兴看到支持可resize的appwidgets与Android 3.1,但我难住如何使他们实际工作。 我不是appwidget新手,并没有添加任何问题 android:resizeMode="horizontal|vertical" 到我的appwidget定义XML。 而且,它的作品尽可能远,小部件名义上可resize(长按它,处理似乎让我拖动边界到不同的大小)。 但是有两个问题: 首先,当小部件被resize时,我的代码看起来并没有被调用。 我的onReceive()处理程序中设置的断点永远不会被击中。 其次,假设我可以进入我的代码,我不能在文档中的任何地方看到小部件的当前大小。 我已经使用对AppWidgetProviderInfo.minWidth和.minHeight调用,但这些只反映了XML中给出的最小尺寸,它们在运行时不会改变。 那么,如何才能真正实现一个可调整的小部件?