마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

바탕화면 위젯과 앱의 버튼을 연동하고 싶습니다

0 추천
package values;

import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;

import com.cookandroid.emergencyapp.MainActivity;
import com.cookandroid.emergencyapp.R;

/**
 * Implementation of App Widget functionality.
 */
public class NewAppWidget extends AppWidgetProvider {

    static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                                int appWidgetId) {

        CharSequence widgetText = context.getString(R.string.appwidget_text);
        // Construct the RemoteViews object
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
        // views.setTextViewText(R.id.appwidget_text, widgetText);
        Intent intent=new Intent(context, MainActivity.class);
        PendingIntent pe=PendingIntent.getActivity(context, 0, intent, 0);
        views.setOnClickPendingIntent(R.id.imageButton_my, pe);
        // Instruct the widget manager to update the widget
        appWidgetManager.updateAppWidget(appWidgetId, views);

    }

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        // There may be multiple widgets active, so update all of them
        for (int appWidgetId : appWidgetIds) {
            updateAppWidget(context, appWidgetManager, appWidgetId);
        }
    }

    @Override
    public void onEnabled(Context context) {
        // Enter relevant functionality for when the first widget is created
    }

    @Override
    public void onDisabled(Context context) {
        // Enter relevant functionality for when the last widget is disabled
    }
}



 인터넷에서 예제를 찾아서 바탕화면에서 이미지버튼으로 되어있는 위젯을 누르면 앱을 띄우는 것 까지는 작성했습니다. 하지만 원하는 동작은 위젯을 누르면 앱이 켜지고 안에 버튼도 동시에 눌러지는 동작을 원합니다. 어떤식으로 작성해야 할지 모르겠습니다.

 버튼의 종류는 ToggleButton 이며 이름은 xml 에서 btn_report 이며 java 에서 btnreport 로 받았습니다. 이 토글 버튼을 누르면 사이렌이 울림과 동시에 지정해놓은 번호로 문자가 전송되며 사이렌 종료는 토글 버튼을 다시 누름과 동시에 정지하도록 제작하였습니다. 긴급상황에 사용할 앱이라 바탕화면에서 나와있는 위젯만 누르면 바로 실행되도록 만들고 싶습니다. 아무쪼록 도움 부탁드립니다.

짜쿠사냥 (160 포인트) 님이 2017년 11월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...