zoukankan      html  css  js  c++  java
  • AppWidget应用(二)---PendingIntent 之 getActivity


        通过AppWidget应用(一)的介绍,我们已经知道如何创建一个在主界面上显示一个appWidget窗口,但这并不是我们的目的,我们需要做到程序与用户之间进行交互;下面来介绍下如何通过appWidget启动一个Activity。

    一、在appWidget的布局文件中添加一个按钮

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/txtapp"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#ffffff"
            android:text="test" >
        </TextView>
    
        <Button
            android:id="@+id/btnSend"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Send" >
        </Button>
    
    </LinearLayout>


    二、在appWidget上为按钮添加监听函数

    @Override
    	public void onUpdate(Context context, AppWidgetManager appWidgetManager,
    			int[] appWidgetIds) {
    		// TODO Auto-generated method stub
    		//遍历本程序启动的appWidget
    		for (int i = 0; i < appWidgetIds.length; i++) {
    			System.out.println("-----------appWidgetIds[] = " + appWidgetIds[i]);
    			// 创建一个Intent对象
    			Intent intent = new Intent(context, targetActivity.class); // 启动一个Activity
    			// 创建一个PendingIntent对象 打开一个Activity
    			PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
    					intent, 0);
    			RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
    					R.layout.appwidgetlayout);
    			// 为按钮绑定监听器
    			remoteViews.setOnClickPendingIntent(R.id.btnSend, pendingIntent);
    			// 更新App
    			appWidgetManager.updateAppWidget(appWidgetIds[i], remoteViews);
    		}
    		super.onUpdate(context, appWidgetManager, appWidgetIds);
    	}

    targetActivity 就是点击按钮时要启动的Activity

    按照AppWidget应用(一)中的方法启动后的appWidget效果如图:



    最后是代码的地址:

    点击打开链接

  • 相关阅读:
    各种开源许可 license 区别
    iOS 开发中的问题
    CoreText 使用教程
    UIFontFamily
    iTunes Connect TERMS OF SERVICE
    apple开发者账号申请
    十款免费移动应用测试框架推荐
    ios读取通讯录信息
    Search API 官方文档 可以用了查看自己的app
    Sprite Kit 入门教程
  • 原文地址:https://www.cnblogs.com/riskyer/p/3285594.html
Copyright © 2011-2022 走看看