Невозможно завершить приложение с помощью клавиши НАЗАД (* Нет меню выхода в приложении) - PullRequest
0 голосов
/ 09 октября 2019

Я много раз пытался отправить свое приложение в Samsung, но меня всегда отклоняли, потому что кнопка «Назад» или кнопка выхода на часах не работают.

Мое приложение - это многостраничная страница в одном HTML,как объяснено в Документации Tizen.

Я не знаю, если это проблема с кодом в файле app.js, где проблема с несколькими страницами в одном файле HTML.

Файл App.js:

( function () {

    window.addEventListener( 'tizenhwkey', function( ev ) {
        if( ev.keyName === "back" ) {
            var page = document.getElementsByClassName( 'ui-page-active' )[0],
                pageid = page ? page.id : "";
            if( pageid === "main" ) {
                try {
                    tizen.application.getCurrentApplication().exit();
                } catch (ignore) {
                }
            } else {
                tau.changePage("#main");
            }
        }
    } );
} () );

файл index.html:

<code><!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="width=device-width,user-scalable=no">
    <title>BRStocks</title>
    <link rel="stylesheet" href="lib/tau/wearable/theme/default/tau.min.css">
    <link rel="stylesheet" media="all and (-tizen-geometric-shape: circle)" href="lib/tau/wearable/theme/default/tau.circle.min.css">
    <!-- load theme file for your application -->
    <link rel="stylesheet" href="css/style.css">

</head>
<body>

    <div class="ui-page ui-page-active" id="main">
        <header>
            <h2 class="ui-title">BR Stocks</h2>
        </header>

        <div class="ui-content content-padding">
            <ul class="ui-listview">
                <li><a href="#two" id="first-button" onclick="link(event);" ticker_id="BVSP">BVSP</a></li>
                <li><a href="#two" id="IBOV" onclick="link(event);" ticker_id="IBOV">IBOV</a></li>
                <li><a href="#two" id="ABEV3" onclick="link(event);" ticker_id="ABEV3">ABEV3</a></li>
                <li><a href="#two" id="AZUL4" onclick="link(event);" ticker_id="AZUL4">AZUL4</a></li>
                <li><a href="#two" id="BTOW3" onclick="link(event);" ticker_id="BTOW3">BTOW3</a></li>
            </ul>
        </div>
    </div>


        <div class="ui-page" id="two">
      <span id='ABEV3'>START</span>
      <header>
        <h2 class="ui-title" id="title">Loading...</h2>
      </header>
      <div class="ui-content">
        <div id="container">
          <pre><span id="ticker"></span>
<span id="price"></span>
<span id="pctChange"></span>
Волтар function Clear () {document.getElementById ('title'). InnerHTML = "Загрузка ...";document.getElementById ('ticker'). innerHTML = '';document.getElementById ('цена'). innerHTML = '';document.getElementById ('pctChange'). innerHTML = '';} ссылка на функцию (событие) {var element = event.target;var ticker_id = element.getAttribute ("ticker_id");// делать то, что вы будете делать с hike_id console.log (ticker_id);getPrice (ticker_id);вернуть;} function getPrice (y) {if (self.fetch) {console.log ("fetch ok!") fetch ('xxxxxxxxxxxxxxxx') .then (response => response.json ()) .then (data => {console.log ("Извлечение ...") //document.getElementById('title').innerHTML = data [y] ['name'] var CompanyName = data [y] ['name']; var CompanyTicker = data [y] ['ticker']; var lastPrice = Number (data [y] ['lastPrice']); var pctChange = Number (data [y] ['pctChange']); pctChange = pctChange.toFixed (2); документ.getElementById ('ticker'). innerHTML = CompanyTicker; document.getElementById ('title'). innerHTML = CompanyName; document.getElementById ('price'). innerHTML = lastPrice.toLocaleString ('pt-BR') ;ByDIE('pctChange'). innerHTML = pctChange.replace ('.', ',') + '%'; if (pctChange <0) {console.log ('Achou o sinal negativo'); document.getElementById ('pctChange') .className =' redFont ';} else {document.getElementById (' pctChange '). className =' greenFont ';}});} else {console.log ("Что-то пошло не так ...")}} function red () {var elements = document.getElementById ('pctChange'). innerHTML;console.log ('Elemento:' + elements);if (elements.includes ('-')) {console.log ('Achou o sinal negativo');document.getElementById ('pctChange'). className = 'redFont';} else {document.getElementById ('pctChange'). className = 'greenFont';}} </script>

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Я только что выяснил, что для работы кнопок (а также функции tizenhwkey) вам необходимо настроить файл config.xml вашего проекта.

Я только что добавил строку ниже:

<tizen:setting background-support="disable" encryption="disable" hwkey-event="enable"/>

А теперь функция и кнопки работают отлично!

1 голос
/ 09 октября 2019

вместо

<a class="back" href="main" onClick="Clear();">Voltar</a>

try

<a class="back" href="main" ontouchend="Clear();">Voltar</a>

(я выбрал случайное значение, например, в своем коде вы можете применить это изменение к каждому атрибуту 'onClick')

...