Не работает TextToSpeech

270
06 января 2018, 02:48

В общем, более абсурда я не видел. Есть голосовое приложение, которое по логике, должно отправлять 1234 на сервер(точнее на планшет, на котором он установлен), когда телефон подключен к тому же wifi, что и планшет. Но если телефон, где есть "Говорилка",обзовём её так, подключен к wifi где есть интернет - то всё прекрасно работает(показать время, к примеру P.S берёт время с телефона, а не с интернета), так же, если отключить wifi. Но как только подключаюсь к wifi'ю планшета, где НЕТ интернета - она перестаёт работать, а точнее сам распознаватель голоса просто повисает где-то на минуту / полторы, далее может показать время, или вовсе ничего не сделать, а про отправку "1234" на сервер - вообще молчу. Вообще не работает. Вот код всего этого идиотизма:

public class MainActivity extends AppCompatActivity {
 TextToSpeech speech;  
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mybtn = (Button)findViewById(R.id.button);
        response = (TextView)findViewById(R.id.otvet);
        speech=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
            @Override
            public void onInit(int status) {
                if(status != TextToSpeech.ERROR) {
                    Locale locale = new Locale("ru");
                    speech.setLanguage(locale);
                }
            }
        });
        mybtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getSpeech();
            }
        });
    }
public void getSpeech(){
        Locale locale = new Locale("ru");
        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, locale);
        if (intent.resolveActivity(getPackageManager()) !=null) {
            startActivityForResult(intent, 10);
        } else {
            Toast.makeText(getApplicationContext(), "Нифига не работает", Toast.LENGTH_SHORT).show();
        }
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode){
            case 10:
                if (resultCode == RESULT_OK && data !=null){
                    ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                    output.setText(result.get(0));
                    getRes = result.get(0);
                    if (result.get(0).equals("привет")){
                        Toast.makeText(getApplicationContext(), "Равно!", Toast.LENGTH_SHORT).show();
                    }else {
                        Toast.makeText(getApplicationContext(), "Не равно :с", Toast.LENGTH_SHORT).show();
                    }
                    resultat = getRes;
                    if (getRes != null){
                        if (result.get(0).equals(times)){
                            output.setText("Который час?");
                            post();
                        }
                }

                break;
        }
    }
    public void post() {
        response.setText("Отправляем...");
        final OkHttpClient clients = new OkHttpClient();
        final Request request = new Request.Builder()
                .url("http://192.168.1.160:8080/test/1.php?a=1234")
                .build();
        Call call = clients.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        response.setText("Не удалось отправить. Не удалось получить связь с сервером.");
                    }
                });
            }
            @Override
            public void onResponse(Call call, final Response respons) throws IOException {
                String callback = respons.body().string();
                if (callback != null && callback !="") {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            response.setText("Отправлено! Глянь JSON");
                        }
                    });
                }
                respons.close();
            }
        });
    }
}
READ ALSO
Android умножение

Android умножение

У меня в приложении есть много float значений для денег, так вот когда я некоторые перемножаю у меня в ответ выходит 00

198
Фокус в ScrollView Андроид

Фокус в ScrollView Андроид

Есть СкролВью с много Вьюшек внутри

162
JSP ошибка при подключении к базе данных из Tomcat

JSP ошибка при подключении к базе данных из Tomcat

Есть база данных mysql и сервис, который с ней работаетПри запуске кода через метод main из idea все работает

268
Посоветуйте что-нибудь для xml в java

Посоветуйте что-нибудь для xml в java

С помощью каких методов в java реализуется поиск по тегу в xml файле? И вот я допустим нашел нужный мне тег, а потом с помкакого метода вытащить...

201