如何才能做到,想QQ桌面那样,将小部件直接初始化到桌面上。像原生Launcher将小部件放到桌面,是需要系统级程序才能做到的,而QQ桌面并没有系统权限,它是如何做到的呢?

解决方案 »

  1.   

        <qqwidget launcher:className="com.tencent.qqwidgets.navigation.QNavigationService" launcher:packageName="com.tencent.qqlauncher" launcher:screen="3" launcher:x="0" launcher:y="0" />
      

  2.   

     <service android:name="com.tencent.qqwidgets.navigation.QNavigationService" android:exported="true">
    <meta-data android:name="tencent.qqwidget.service" android:resource="@xml/navigation_main" />
                <intent-filter>
                    <action android:name="com.tencent.qqwidget.service" />
                </intent-filter>
            </service>
      

  3.   

    我们可以看到QQ桌面的小部件都是写的service,难道这个service一直在跑,又是如何添加到桌面上的?它又是如何实现widget的功能的?怎样更新的?