AppWidget 응용 프로그램 (2) --- PendingIntent 의 getActivity

2390 단어 pendingintent
AppWidget 응용 프로그램 (1) 의 소 개 를 통 해 우 리 는 메 인 인터페이스 에 appWidget 창 을 표시 하 는 방법 을 알 고 있 지만 이것 은 우리 의 목적 이 아니다. 우 리 는 프로그램 과 사용자 간 의 상호작용 을 해 야 한다.앱 위 젯 을 통 해 액 티 비 티 를 시작 하 는 방법 을 소개 한다.
1. app Widget 의 레이아웃 파일 에 단 추 를 추가 합 니 다.
 
<?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>

 
2. app Widget 에 버튼 에 감청 함 수 를 추가 합 니 다.
 
@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 응용 프로그램 (1) 의 방법 에 따라 시작 한 appWidget 효 과 는 다음 과 같 습 니 다.
마지막 으로 코드 주소:
클릭 하여 링크 열기

좋은 웹페이지 즐겨찾기