Android Widget实现跳转及源码学习教程是本文是要介绍的内容,主要是来了解并学习Android Widget源码的应用,具体内容的学习来看本文详解。
创建一个widget app 只有一个简单的按钮。
单击按钮之后。
跳转到targetActivity
源代码项目下载地址。
FTP地址:ftp://www.linuxidc.com
用户名:www.linuxidc.com
密码:www.muu.cc
- 1.
- 2.
- 3.
exampleAppWidgetProvider.JAVA代码
package zhang.AppWidget;
import Android.app.PendingIntent;
import Android.appwidget.AppWidgetManager;
import Android.appwidget.AppWidgetProvider;
import Android.content.Context;
import Android.content.Intent;
import Android.widget.RemoteViews;
public class exampleAppWidgetProvider extends AppWidgetProvider{
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
System.out.println("onupdate");
for(int i=0;i<appWidgetIds.length;i++){
System.out.println(appWidgetIds[i]);
Intent intent = new Intent(context,TargetActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews remoteViews =new RemoteViews(context.getPackageName(),R.layout.appwidget);
remoteViews.setOnClickPendingIntent(R.id.button,pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds[i], remoteViews);
}
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
System.out.println("onDeleted");
super.onDeleted(context, appWidgetIds);
}
@Override
public void onDisabled(Context context) {
System.out.println("onDisabled");
super.onDisabled(context);
}
@Override
public void onEnabled(Context context) {
System.out.println("onEnabled");
super.onEnabled(context);
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
target 只有简单的现实了一个textView
package zhang.AppWidget;
import Android.app.Activity;
import Android.os.Bundle;
public class TargetActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
appwidget 这个是widget在桌面的布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
>
<TextView
Android:id="@+id/widgetTextId"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="firstWidgetText"
Android:background="#000000"
/>
<Button
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:id="@+id/button"
Android:text="@string/target"></Button>
</LinearLayout>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
用appwidget_info去连接布局与widget
<appwidget-provider xmlns:Android="http://schemas.android.com/apk/res/android"
Android:minWidth="294dp"
Android:minHeight="72dp"
Android:updatePeriodMillis="86400000"
Android:initialLayout="@layout/appwidget"
>
</appwidget-provider>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
而在AndroidManifis中配置 appwdiget_info
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.android.com/apk/res/android"
package="zhang.AppWidget"
Android:versionCode="1"
Android:versionName="1.0">
<uses-sdk Android:minSdkVersion="7" />
<application Android:icon="@drawable/icon" android:label="@string/app_name">
<activity Android:name=".MainActivity"
Android:label="@string/app_name">
<intent-filter>
<action Android:name="android.intent.action.MAIN" />
<category Android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity Android:name=".TargetActivity"/>
<receiver Android:name="exampleAppWidgetProvider">
<intent-filter>
<action Android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
</intent-filter>
<meta-data Android:name="android.appwidget.provider"
Android:resource="@xml/appwidget_info"/>
</receiver>
</application>
</manifest>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
这里的MainActivity 没用作用的。
小结:Android Widget实现跳转及源码学习教程的内容介绍完了,希望通过Android Widget源码内容的学习能对你有所帮助!