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