android创建一个时间widget
来源:互联网 发布:u盘安装ubuntu工具包 编辑:程序博客网 时间:2024/06/05 22:44
1.AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.Demo2" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name="com.example.widgets.TimeWidgetProvider"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info"/> </receiver> <service android:name="com.example.widgets.TimeService"></service> </application><uses-permission android:name="android.permission.CALL_PHONE"/></manifest>
2.在清单文件中声明了一个广播,现在建一个xml文件夹,创建appwidget_info.xml
</pre></p><p><pre name="code" class="java"><?xml version="1.0" encoding="utf-8"?><appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" android:minHeight="72dp" android:initialLayout="@layout/time_appwidget" />
3.在appwidget_info.xml中初始化一个布局文件time_appwidget.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/rectangle" > <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="widget" android:id="@+id/textView" /></LinearLayout>
4.书写广播提供者TimeWidgetProvider.java
package com.example.widgets;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.Context;import android.content.Intent;public class TimeWidgetProvider extends AppWidgetProvider {@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {}@Overridepublic void onDeleted(Context context, int[] appWidgetIds) {//当删除一个widget时,执行该方法}@Overridepublic void onEnabled(Context context) {context.startService(new Intent(context,TimeService.class));}@Overridepublic void onDisabled(Context context) {//当同类型的widget都删除后,执行该方法context.stopService(new Intent(context,TimeService.class));}}
5.书写广播服务可以动态改变时间TimeService.java
package com.example.widgets;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;import com.example.Demo2.R;import android.app.PendingIntent;import android.app.Service;import android.appwidget.AppWidgetManager;import android.content.ComponentName;import android.content.Intent;import android.net.Uri;import android.os.IBinder;import android.text.format.Time;import android.widget.RemoteViews;public class TimeService extends Service{private Timer timer;@Overridepublic void onCreate() {super.onCreate();timer = new Timer();timer.schedule(new TimeUpdateMask(), 0, 1000);}final class TimeUpdateMask extends TimerTask{@Overridepublic void run() {SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");String time = sdf.format(new Date());RemoteViews remoteView = new RemoteViews(getPackageName(), R.layout.time_appwidget);remoteView.setTextViewText(R.id.textView, time);PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 100, new Intent(Intent.ACTION_CALL,Uri.parse("tel:111111111")), 0);//为remoteview绑定服务remoteView.setOnClickPendingIntent(R.id.textView, pendingIntent );AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(getApplicationContext());appWidgetManager.updateAppWidget(new ComponentName(getApplicationContext(), TimeWidgetProvider.class), remoteView);}}@Overridepublic void onDestroy() {timer.cancel();timer = null;}@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}}
0 0
- android创建一个时间widget
- Android 创建一个Widget
- 创建Android Widget
- 【Android】创建桌面widget
- Android App Widget创建步骤
- Android Widget桌面组件创建
- Android创建Widget总结(1)--创建普通Widget
- Android基础之App Widget创建
- android studio创建桌面插件widget
- 从零开始创建一个Android主屏幕Widget
- 创建Widget
- Android创建Widget总结(2)--创建一个可接收广播的Widget
- Data Service-创建一个时间维度表
- android widget
- android widget
- android widget
- [android] widget
- android widget
- mysql读写性能测试
- Unity3D之Vector3.Dot和Vector3.Cross的使用
- U盘无法弹出的有效解决方法
- ORA-07445 第一参数为:kkqljpmpr
- linux内核设计与实现思想 – C风格的面向对象
- android创建一个时间widget
- Ubuntu+Eclipse+ADT+Genymotion+VirtualBox开发环境搭建
- ISAPI_Rewrite3,重定向问号问题
- 使用ClearType调节win8系统字体显示效果
- Easyui 使用datagrid分页 详解 代码
- js区分不同浏览器
- BigDecimal除法报错
- [经典面试题]k节点一组旋转链表
- 缩短Windows7系统“程序未响应”的时间