表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

113/210

Androidアプリとクリップボード

現在、GameBookアプリ作成教習用アプリを作っているのですが問題発生です。


とても大きなテキスト(サンプルゲームブックのシナリオデータとか)をどうやって、ユーザーに使ってもらうかと言う問題に直面しました。


最初は面倒なので、TextAreaなどに表示して長押しで選択、Googleドキュメントあたりにペーストしてもらおうかと考えましたが長いテキストだと、おそらくですが、フリーズして使い物にならず。


javascript経由でクリップボードの直接書こうとしたところ、失敗。


テキストを短くしても失敗。


調べて見ると、システム的に制限が加わった模様。


クリップボード データへの制限付きアクセス

https://developer.android.com/about/versions/10/privacy/changes?hl=ja#clipboard-data


思わぬところで問題発生。


Webサーバーに置くのが良さそうな気がしますが、もうちょっと検討してみます。


追記:

ソースコードは長くても(43KB)コピーペースト出来ましたから、シナリオデータ(517KB)はとりあえず端折って提供する方向で検討します。


50ページ(103KB)でコピーペースト成功したので、とりあえずはこれで良しとしましょう。


おまけ

確認コードはこんな感じです。ブラウザアプリでは成功、Android実機では失敗になります。

  const type = "text/plain";

  const blob = new Blob(["test clipboard"], { type });

//  const blob = new Blob([PageData["page.json"]], { type });

  const data = [new ClipboardItem({ [type]: blob })];


  navigator.clipboard.write(data).then(

    function () {

    /* success */

    alert("Success");

    },

    function () {

    /* failure */

    alert("failure");

    }

  );


評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ