このページでは

変更点Qt NFC

Qt 6 における変更点は、フレームワークをより効率的で使いやすくするための意図的な取り組みの結果です。

各リリースにおいて、すべての公開 API についてバイナリおよびソースの互換性を維持するよう努めています。しかし、Qt をより優れたフレームワークにするためには、いくつかの変更が避けられませんでした。

このトピックでは、Qt NFC におけるそれらの変更点をまとめ、それらに対処するためのガイダンスを提供します。

新機能とメソッド

追加QNdefRecord::clear()

NDEF レコードをクリアするには、このメソッドを使用します。

追加QNdefFilter::match()

このメソッドを使用して、QNdefMessage が指定されたフィルタに一致するかどうかを確認します。このメソッドは、一致に成功した場合は `true ` を返し、それ以外の場合は `false ` を返します。

拡張QNearFieldTarget::Type

列挙型に、以下の2つの型が追加されました:

機能およびメソッドの変更点

QNearFieldManager::isAvailable() の名称変更

QNearFieldManager::isAvailable() の名前がQNearFieldManager::isEnabled() に変更されました。

アクセスメソッドの引数が追加されましたQNearFieldManager::isSupported

accessMethod の引数により、特定の機能がサポートされているかどうかを確認できます。これは、プラットフォームやOSのバージョンによってサポートされるオプションが異なる場合があるため、重要です。

にアクセスメソッド引数を追加QNearFieldManager::startTargetDetection

accessMethod 引数を使用すると、指定されたアクセスメソッドでNFCタグをスキャンできます。

QNdefNfcSmartPosterRecord::typeInfo をQByteArray からQString

NDEF Smart Poster仕様によると、この型はUTF-8形式の文字列です。これは、QNdefNfcSmartPosterRecord::typeInfo()およびQNdefNfcSmartPosterRecord::setTypeInfo()メソッドに影響します。

の戻り値の型を更新しましたQNdefFilter::appendRecord

QNdefFilter::appendRecord は、入力パラメータの基本的な検証を行い、レコードがフィルタに追加されたかどうかを示すブール値を返すようになりました。

削除された機能およびメソッド

QNearFieldTarget::url を削除しました

このメソッドは、QNearFieldTarget の既存のサブクラスでは実装されたことがありませんでした。

QNearFieldTarget::sendCommands を削除

Qt 5 では、このメソッドは中間コマンドの結果を追跡する手段を提供していなかったため、あまり有用ではありませんでした。通常、追加のコマンドを送信する必要があるのは、前のコマンドが正常に実行された場合に限られます。

正しいアプローチとしては、手動でコマンドのキューを作成し、QNearFieldTarget::sendCommand を使用してコマンドを送信し、QNearFieldTarget::requestCompleted またはQNearFieldTarget::error を使用して各コマンドの結果を個別に処理することです。

QNearFieldTarget::keepConnection の削除

QNearFieldTarget::keepConnection() およびQNearFieldTarget::setKeepConnection() メソッドは削除されました。現時点では、接続を維持することがデフォルトの動作となっています。

QNearFieldTarget::isProcessingCommand の削除

このメソッドは実装されたことがなく、常に `false` を返していました。

QNearFieldTarget::setResponseForRequest をプライベート API に変更

このメソッドはパブリック API として公開すべきではありません。NFC タグからデータを読み取るには、QNearFieldTarget::ndefMessageRead またはQNearFieldTarget::requestResponse を使用してください。

QNearFieldTarget::handleResponse を削除しました

このメソッドは、非公開APIとなったQNearFieldManager::setResponseForRequest への呼び出しを単に転送するだけのものであったため、削除されました。

QNearFieldTarget::reportError をプライベートAPIに変更

代わりにQNearFieldTarget::error シグナルを使用できます。

QNearFieldTarget::ndefMessagesWrittenシグナルを削除しました

QNearFieldTarget::requestCompleted シグナルは、NDEFメッセージとカスタムコマンドの両方に使用されます。id パラメータを使用することで、実際に完了したリクエストを確認できます。

QNearFieldManager::(un)registerNdefMessageHandler を削除しました

QNearFieldTarget::registerNdefMessageHandler およびQNearFieldTarget::unregisterNdefMessageHandler メソッドは削除されました。

NDEF メッセージを検出し、必要なものをフィルタリングするには、QNearFieldTarget::ndefMessageRead() およびQNdefFilter::match() を使用してください。

注: NDEF タグがタッチされると、アプリケーションは 引き続き自動的に起動されます。「Annotated URL」の例では、Android でこれを実現する方法を示しています。

QNearFieldManager::TargetAccessModes が削除されました

TargetAccessModes 列挙型は、ゲッターおよびセッターメソッド(QNearFieldManager::setTargetAccessModes() およびQNearFieldManager::targetAccessModes() )とともに削除されました。

この機能は、AndroidおよびiOSプラットフォームではサポートされていません。

QNearFieldShareManager および QNearFieldShareTarget の削除

API 29 以降の Android では、NFC によるファイル共有は非推奨となりました。代わりに他の技術を使用してください。

QML API が削除されました

QML API のサポートは終了しました。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.