生活随笔
收集整理的這篇文章主要介紹了
android桌面插件每秒刷新
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
android桌面插件每秒刷新
一、需求
桌面插件每秒更新信息
二、實現
1.首先創建App Widget
2.修改桌面布局代碼
new_app_widget.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"style="@style/Widget.GeoApplication.AppWidget.Container"android:layout_width="match_parent"android:layout_height="match_parent"android:theme="@style/Theme.GeoApplication.AppWidgetContainer"><TextViewandroid:id="@+id/appwidget_text"style="@style/Widget.GeoApplication.AppWidget.InnerView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_margin="8dp"android:contentDescription="@string/appwidget_text"android:text="@string/appwidget_text"android:textSize="24sp"android:textStyle="bold|italic" /><ImageViewandroid:id="@+id/appwidget_image"style="@style/Widget.GeoApplication.AppWidget.InnerView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:layout_margin="8dp"android:src="@drawable/ic_launcher_foreground"android:contentDescription="@string/appwidget_text"android:text="@string/appwidget_text"android:textSize="24sp"android:textStyle="bold|italic" />
</RelativeLayout>
3.桌面插件被創建的時候,使用Alarm定時器刷新。
在onUpdate 方法中
NewAppWidge.kt
override fun onUpdate(context
: Context
,appWidgetManager
: AppWidgetManager
,appWidgetIds
: IntArray
) {val alarm
= context
?.getSystemService(Context
.ALARM_SERVICE
) as AlarmManager
val intent
= Intent(AppWidgetManager
.ACTION_APPWIDGET_UPDATE
)val pendingIntentTwo
=PendingIntent
.getBroadcast(context
, 0, intent
, PendingIntent
.FLAG_UPDATE_CURRENT
)val triggerAtTime
= SystemClock
.elapsedRealtime() + (10 * 1000)val interval
= 10 * 1000Lalarm
.setRepeating(AlarmManager
.RTC
, triggerAtTime
, interval
, pendingIntentTwo
)for (appWidgetId
in appWidgetIds
) {updateAppWidget(context
, appWidgetManager
, appWidgetId
)}
}
在onReceive方法中
override fun onReceive(context
: Context
?, intent
: Intent
?) {super.onReceive(context
, intent
)context
?.let {val ids
= AppWidgetManager
.getInstance(context
).getAppWidgetIds(ComponentName(context
,NewAppWidget
::class.java
))onUpdate(context
, AppWidgetManager
.getInstance(context
),ids
)}
}
這時候調用插件就可以更新了
總結
以上是生活随笔為你收集整理的android桌面插件每秒刷新的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。