ジェリーゼリーブログ

2018年5月31日

ティラノスクリプトの[close]でAndroidアプリが終了しない時のメモ

[close]タグを使ってもAndroidアプリが終了してくれない時、とりあえずなんとか終了させるようにしたメモ書きです。

今回の私の状況は
・ティラノスクリプトv470_rc8
・ティラノプレイヤーv112
・Android OSバージョン4.4のスマホ
・Android Studio3.1.2
でした。

Androidのスマホでの実機テスト中、[close]タグで「アプリが終了しない」という状況になりました。
いろいろいじって、とりあえずなんとか終了するようにできたので、その方法をメモしておきます。
※注:これが良い方法かどうかはわかりません。私はまだまだ勉強不足なので、ちゃんとしたプログラマーの人から見るとおかしなやり方かもしれません。


①Android StudioでMainActivity.javaに

public void finishAll() {
finish();
}

みたいな感じの記述を追加します。


追加する場所はまあ適当なんですが、今回はfinishGameの下に追加しました。

②Android StudioでMyJavaScriptInterface.javaに

@JavascriptInterface
public void finishAll(){
((MainActivity)context).finishAll();
}

みたいな感じの記述を追加します。


これも適当にfinishGameの下に追加しました。

③ティラノスクリプトの方で、[close]の代わりに

[iscript]
appJsInterface.finishAll();
[endscript]

という記述にしてみます。


以上の操作でAndroidアプリが終了できるようになりました。
ただし、この状況のままだとAndroidアプリ以外の環境では終了しないので、Windows等に向けた製作も兼ねているときは、記載を工夫する必要があると思います。

※上の方でも記載した通り、これが良いやり方かどうかはわかりません。もっと良い方法があれば教えていただければ幸いです。


カテゴリ:製作者向け情報/ティラノスクリプト関係/Androidアプリ関係