Я хочу сделать виджет для метода работы деятельности - PullRequest
0 голосов
/ 07 мая 2018

Привет! Я делаю приложение для Android и хочу создать виджет для него. Концепция приложения заключается в том, что он получает строку stt (речь-текст) из 'Voicemain_Activity' и помещает строку в создаваемое поле в 'AddActivity'. А в 'AddActivity' есть кнопка для вызова 'Voicemain_Activity'. Я пытался сделать это, чтобы начать 'Voicemain_Activity'. Поэтому я сделал коды виджетов вот так. открытый класс MyAppWidget расширяет 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.my_app_widget);
    // views.setTextViewText(R.id.appwidget_text, widgetText);
    Intent intent=new Intent(context, AddActivity.class);
    PendingIntent pe=PendingIntent.getActivity(context, 0, intent, 0);
    views.setOnClickPendingIntent(R.id.imageButton_voice, pe);
    // Instruct the widget manager to update the widget
    appWidgetManager.updateAppWidget(appWidgetId, views);

}

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

    super.onUpdate(context,appWidgetManager,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
}

}

«AddActivity», позволяющая получить «Voicemain_Activity», выглядит следующим образом.

@Override
public void onClick(View v) {
    int view = v.getId();

    if(view == R.id.Bacode){
        finish();
    }
    else if(view == R.id.Voice){
        startActivityForResult(new Intent(this, VoiceMain_Activity.class), MY_UI);
    }
}

Но этот код заставил виджет просто показать мне экран «Voicemain_Activity» и не получил строку и не поместил ее в «AddActivity». Как я могу заставить его работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...