Launcher.java에서 AppWidget 추가 프로세스 분석

1697 단어
1. 우선, AppWidget에 추가된Dialog는 길게 눌러서 나온 것이기 때문에 onLongClick() 방법을 찾아보면 showAddDialog(cellInfo)가 있습니다.메서드
2. showAddDialog() 방법으로 넘어가면 showDialog(DIALOG CREATE SHORTCUT)가 보입니다.Activity의 showDilaog () 를 통해 dialog를 표시하기 때문에 onCreateDialog 방법을 찾을 수 있습니다.
해당 dialog의 ID(DIALOG CREATE SHORTCUT)를 찾으면 다음 코드가 표시됩니다.
case DIALOG_CREATE_SHORTCUT:
		return new CreateShortcut().createDialog();

3、Create ShortCut이라는 내부 클래스로 이동하면 길게 누르는 메뉴가 여기에서 만들어진 것을 발견할 수 있습니다.
온클릭 방법에서 창의 작은 위젯 항목을 클릭 처리합니다.코드는 다음과 같습니다.
int appWidgetId = Launcher.this.mAppWidgetHost.allocateAppWidgetId();
Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetId);
// start the pick activity
startActivityForResult(pickIntent, REQUEST_PICK_APPWIDGET);

intent를 통해 activity, AppWidget Manager가 시작되었습니다.Action_APPWIDGET_PICK 이 action은 settings(설정)를 시작하는 AppWidget PickActivity입니다.java의 activity, 시스템에 설치된 App Widget을 표시하고 사용자가 선택한 App Widget와 전송된 App Widget Id를 연결합니다. (연결은 App Widget Manager의 bind App Widget Id (id,provider) 방법으로 연결됩니다. 이 방법은 시스템 권한이 있어야 실행할 수 있습니다. 설정은 시스템 권한이 있습니다.그래서 백엔드 코드에widget을 자신이 쓴 launcher에 추가하려면 launcher는 시스템 권한이 있어야 합니다. 그렇지 않으면 백엔드 코드에widget을 추가할 수 없습니다.
4、widget을 선택한 후 Launcher에 추가합니다.java에서 onActivity Result 보기
case REQUEST_PICK_APPWIDGET:
	addAppWidget(data);

addappWidget 방법으로 다시 이동합니다.if (appWidget.configure! =null) 는widget에 설정이 있는지 판단하는 것입니다. 설정이 있으면 설정 인터페이스로 이동하고 설정이 없으면 completeAddAppWidget () 방법을 직접 실행하여widget을 데스크톱 데스크톱 데이터베이스에 추가합니다.
이렇게 AppWidget 추가가 완료되었습니다...

좋은 웹페이지 즐겨찾기