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

香港云服务器 1核 256M 19.9元/月 Mineserver Ltd

Mineserver(ASN142586|UK CompanyNumber 1351696),已经成立一年半。主营香港日本机房的VPS、物理服务器业务。Telegram群组: @mineserver1 | Discord群组: https://discord.gg/MTB8ww9GEA7折循环优惠:JP30(JPCN2宣布产品可以使用)8折循环优惠:CMI20(仅1024M以上套餐可以使用)9折循...

弘速云香港VPSVPS线路有CN2+BGP、CN2 GIA,KVM虚拟化架构,裸金属月付564元

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...

DMIT(8.72美元)日本国际线路KVM月付8折起,年付5折

DMIT.io是成立于2018年的一家国外主机商,提供VPS主机和独立服务器租用,数据中心包括中国香港、美国洛杉矶和日本等,其中日本VPS是新上的节点,基于KVM架构,国际线路,1Gbps带宽,同时提供月付循环8折优惠码,或者年付一次性5折优惠码,优惠后最低每月8.72美元或者首年65.4美元起,支持使用PayPal或者支付宝等付款方式。下面列出部分日本VPS主机配置信息,价格以月付为例。CPU:...

widget开发为你推荐
ipv6无网络访问权限本地连接IPv4 IPv6无网络访问权限firstname英语中的first name 和last name具体指什么wmiprvse为什么会有wmiprvse.exe和wmiprvse 这两个 算不算病毒?weakhashmap在Java中ArrayList、LinkedList、HashMap的区别是什么rdl电脑主机上的dvd+rdl是什么意思拓扑关系简述空间数据的拓扑关系及其对GIS数据处理和空间分析有何重要意义?slideshare幻灯片的占位符的作用是?editplus破解版DBTools Manager Professional 破解版在哪里可以下载?ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?什么是SOA什么是java架构
万网域名查询 域名大全 鲁诺vps 西部数码vps 七牛优惠码 香港bgp机房 谷歌香港 抢票工具 lighttpd 促正网秒杀 柚子舍官网 hostloc 双线机房 网页提速 外贸空间 太原联通测速 linode支付宝 新网dns byebyelove 极域网 更多