2013-02-01 8 views
0

위젯에서 활동을 여는 방법을 알고 있습니다. 전체 화면이 열립니다.위젯 내에서 활동 열기

위젯 내부에서 열 수 있습니까?

내 활동은 애플 리케이션의 일부이며, 큰 코드가 있습니다. 액티비티는 카메라를 열고 일부 알고리즘을 실행합니다. 4x4 위젯을 가지고 프로젝트의 알고리즘으로 위젯 내에서 활동을 실행할 수 있습니까? (기본적으로 활동의 지름길이지만 위젯 내에서 연주).

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
     int[] appWidgetIds) { 

    final int N = appWidgetIds.length; 

    for (int i = 0; i < N; i++) { 
     int appWidgetId = appWidgetIds[i]; 

     Intent intent = new Intent(context, ClassToLaunch.class); 
     PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, 
       intent, 0); 

     RemoteViews views = new RemoteViews(context.getPackageName(), 
       R.layout.widget_layout); 
     views.setOnClickPendingIntent(R.id.widget_id, pendingIntent); 

     appWidgetManager.updateAppWidget(appWidgetId, views); 
    } 
+0

나는 그것이 가능하지 않다고 믿는다 – Martinsos

답변

0

위젯은 자체 라이프 사이클을 가지고 있으므로 레이아웃과 업데이트 간격을 최대한 활용할 수는 있습니다.

0

활동을 사용하지 말고 Fragment을 사용하십시오. Activity가 수행하는 모든 작업 (필요한 경우 부모 작업 메서드를 호출 할 수있는 경우)을 수행 할 수 있으며 화면의 전용 부분에 심어 놓을 수도 있습니다.

+0

나는 이미 완료된 큰 응용 프로그램을위한 위젯을 쓰고있다. 앱의 코드를 변경하지 않고도이 작업을 수행 할 수있는 방법이 있습니까? – user1918446