widget开发安卓开发:activity向widget传递2个文本,widget收到文本更新widget?

widget开发  时间:2021-07-03  阅读:()

Android开发如何获得第三方应用Widget的包名和类名

最近在做Android的平板的开发,想在桌面上预置一些第三方应用的Widget,在桌面预置Widget的方法就是要获得应用的包名和类名。

桌面预置widget的方法 在Launcher的配置文件 res/xml/default_workspace.xml中添加如下的代码:<appwidget launcher:packageName=&.google.android.apps.genie.geniewidget" //预置应用的包名 launcher:className=&.google.android.apps.genie.geniewidget.miniwidget.MiniWidgetProvider" //预置应用的Provider的类名,不是Activity的类名 launcher:screen="1"//在第几屏0为第一屏,launcher:x="0"//x坐标launcher:y="0"//y坐标 launcher:spanX="4"//x方向占几个单元格 launcher:spanY="1"///y方向占几个单元格 通过logcat有时可以找到应用的包名和Provider类名,此方法不可取,容易出错。

系统的widget可以通过查找相关的源码找到对应的包名和Provider的类名,但是第三方应用看不到源码,但是也可以通过反编译第三方应用,获得相应的Maifest.xml文件,找到对应的包名和Provider类名,但是此方法比较繁琐。

可以通过在Launcher中添加如下代码,可以将系统中所安装的所有 的widget的信息打印出来: 在Launcher.java中的onCreate方法中添加下面的代码: List<AppWidgetProviderInfoproviders=mAppWidgetManager.getInstalledProviders();finalintproviderCount=providers.size();for(inti=0;i<providerCount;i++){ ComponentNameprovider=providers.get(i).provider;Log.i("xxx", "packagename:" +provider.getPackageName()+ "classname:" +provider.getClassName());}新编译Launcher,把Launcher push进去之后,执行 adb logcat -s xxx,就可以看到打印出来的Log信息,包名和Provider了类名。

桌面预置shortcut的方法: 在Launcher的配置文件 res/xml/default_workspace.xml中添加如下的代码:<favorites

Qt Widget Based Application与 Qt Quick Application的区别?

qt Quick是用qml语言写的。

qml是qt自带的类似一种javascript一样的脚本语言,不是C++。

qml的运行需要qt库。

qt widget based application就是带有界面的qt应用程序,是用C++写的,使用qt库来运行。

安卓开发:activity向widget传递2个文本,widget收到文本更新widget?

(1)创建一个类,让其继承类 AppWidgetProvider,在 AppWidgetProvider 类 中有许多的方法,例如 onDelete(Context, int[]),onEnable(Context)等等, 一般情况下我们纸需要重写 onUpdate(Context, AppWidgetManager, int[])这 个方法就可以了,这个方法是当触发器更新?widget?时候执行的操作。

(2)在项目的 AndroidMenifest.xml 文件中添加一个 receiver 标签,让其指向 前面创建的 AppWidgetProvider 子类,内容如下: 1. ?4.?5.?6.?7.?9. intent-filter 中过滤了 APPWIDGET_UPDATE 事件,这个事件是由系统触发的更 新事件,每个?widget?必须包含这个事件;meta-data 标签描述的是?widget?的配 置文件指向,该文件描述了?widget?的一些基本信息。

(3)编写?widget?的 provider 文件信息,本例中该文件名叫做?widget_setting.xml,开发者可以随便取名,只要在 AndroidMenifest.xml 中写 正确就行。

1.?2. 8. minWidth 和 minHeight 是?widget?的最小宽度和高度,这个值是一个参考值,系 统会根据实际情况进行改 变,initialLayout 属性指明了?widget?的视图布局文 件,updatePeriodMillis 属性是?widget?每隔多久更新一次的时 间, 单位为毫秒。

(4)接下来就是界面布局,在这个示例中只需要一个 TextView 控件就可以,代 码如下: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 如果没能解释明白 可以 ,到我群里讨论 look at my n a m e

spinservers:圣何塞10Gbps带宽服务器月付$109起,可升级1Gbps无限流量

spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...

ftlcloud9元/月,美国云服务器,1G内存/1核/20g硬盘/10M带宽不限/10G防御

ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。活动地址:https://www.ftlcloud.com...

BuyVM新设立的迈阿密机房速度怎么样?简单的测评速度性能

BuyVM商家算是一家比较老牌的海外主机商,公司设立在加拿大,曾经是低价便宜VPS主机的代表,目前为止有提供纽约、拉斯维加斯、卢森堡机房,以及新增加的美国迈阿密机房。如果我们有需要选择BuyVM商家的机器需要注意的是注册信息的时候一定要规范,否则很容易出现欺诈订单,甚至你开通后都有可能被禁止账户,也是这个原因,曾经被很多人吐槽的。这里我们简单的对于BuyVM商家新增加的迈阿密机房进行简单的测评。如...

widget开发为你推荐
bloomfilter布隆过滤器既然有错误率,为什么还能应用在key-value系统中?deviceid如何查看自己安卓手机的Android Device ID索引超出了数组界限索引超出了数组界限是怎么回事啊?弹幕网站A站B站网址是什么,国内很出名嗎?有什么网站特点..问卷星登陆问卷星的使用步骤清除电脑垃圾怎么删除电脑垃圾?51信用卡论坛51信用卡贷了1200 现在还不上怎么办图片存储怎么把存图片存储另一种方式?杭州营销型网站易搜的易搜网络思科网络工程师考完思科认证网络工程师干什么?
vps优惠码 已备案域名出售 omnis ssh帐号 win8升级win10正式版 debian6 网页背景图片 地址大全 qq数据库 全站静态化 圣诞促销 架设服务器 183是联通还是移动 环聊 华为云建站 免费主页空间 hdroad 新疆服务器 免费赚q币 上海联通 更多