私はUnity3D開発の世界から来て、私はAndroid開発にはかなり新しいです。 Unity Android用のNFCプラグインを作成しようとしています。 Twinspriteが提供するthis guideの後に、UnityPlayerActivity
を拡張してプラグインを作成する方法を追ってきました。 Twinsrpiteのコードを使用すると、プラグインはAndroidのNFCフォアグラウンドディスパッチシステムを有効にして、アプリケーションがフォアグラウンドにある間にNFCインテントをキャプチャできます。フラグメントがアクティビティを経由せずにインテントデータを受け取る方法はありますか?
私の研究では、拡張プロジェクトUnityPlayerActivity
は、Unityプロジェクトの他のプラグインの依存関係に多くの問題を引き起こす可能性があるため、悩まされています。そこから、多くの他のUnity Androidプラグインと同様に、プラグインをFragment
クラスに拡張することに決めました。このようにして、私のヘッドレスFragment
プラグインは、フラグメントライフサイクルのコールバックを利用してUnityの問題を引き起こさずに行をダウンさせることができます。
でも、Fragment
で動作するようにコードを修正しているうちに問題が発生しました。 TwinspriteのコードはActivity
のonNewIntent
コールバックに依存し、Intent
のデータをNFCメッセージを解析するハンドラメソッドに渡します。 Activity
の代わりにFragment
を使用するコードを書いているので、私はもはやonNewIntent
コールバックにアクセスできなくなり、ハンドラメソッドをもう呼び出すことができなくなりました。上述したように、私はので、私はこの質問が残ってるUnityPlayerActivity
の延長から離れて滞在したいと思います:
どのように私はUnityPlayerActivity
を延長せずに私のFragment
プラグインの中から私のNFC Intent
からデータを受け取ることができますか?
フラグメントはアクティビティ内でホストされている必要があります。それらはスタンドアロンのコンポーネントではありません – Kuffs
@Kuffs私は現時点で私のコードを持っていませんが、Fragmentを 'FragmentManager'クラスを使って' UnityPlayerActivity'の状態に追加しています。私はプラグインオブジェクトを作成するためにUnity内で静的メソッドを呼び出すことでこれをやっています。 – Esper