ইতিপূর্বে আপনি যদি নিশ্চিত করেন যে ডিভাইসটি অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফার সাপোর্ট করে, একটি কলব্যাক মেথড যুক্ত করুন যা সিস্টেমটি আবাহন করে যখন অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফার চিহ্নিত করে যে ইউজার অন্য একটি NFC -এনাবলড ডিভাইসে একটি ফাইল পাঠাতে চায়। এই কলব্যাক মেথডে, Uri অবজেক্টের একটি বিন্যাস ফেরত দিন। অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফার রিসিভিং ডিভাইসে এই সব ইউআরআই দ্বারা পরিবেশিত ফাইলটিকে কপি করে।
কলব্যাক মেথড যুক্ত করতে, NfcAdapter.CreateBeamUrisCallback ইন্টারফেস এবং এর মেথড createBeamUris()বাস্তবায়ন করুন। নিম্নোক্ত খন্ডাংশটি দেখায় এটা কীভাবে করতে হয়:
public class MainActivity extends Activity {
...
// List of URIs to provide to Android Beam
private Uri[] mFileUris = new Uri[10];
...
/**
* Callback that Android Beam file transfer calls to get
* files to share
*/
private class FileUriCallback implements
NfcAdapter.CreateBeamUrisCallback {
public FileUriCallback() {
}
/**
* Create content URIs as needed to share with another device
*/
@Override
public Uri[] createBeamUris(NfcEvent event) {
return mFileUris;
}
}
...
}
আপনি কখনও ইন্টারফেসটি বাস্তবায়ন করলে, setBeamPushUrisCallback()কল করার মাধ্যমে অ্যান্ড্রয়েড বিম ফাইল ট্রান্সফারে কলব্যাক সরবরাহ করুন। নিম্নোক্ত খন্ডাংশ টি আপনাকে দেখাবে কীভাবে এটা করতে হয়:
public class MainActivity extends Activity {
...
// Instance that returns available files from this app
private FileUriCallback mFileUriCallback;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
// Android Beam file transfer is available, continue
...
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
/*
* Instantiate a new FileUriCallback to handle requests for
* URIs
*/
mFileUriCallback = new FileUriCallback();
// Set the dynamic callback for URI requests.
mNfcAdapter.setBeamPushUrisCallback(mFileUriCallback,this);
...
}
...
}
নোট: আপনার অ্যাপের NfcAdapter ইনসটেন্স এর মাধ্যমে সরাসরি NFC ফ্রেমওয়ার্কে আপনি Uri অবজেক্টের বিন্যাস প্রদানও করতে পারেন। এই অ্যাপ্রোচ বেছে নিন, আপনি যদি NFC টাচ ইভেন্ট ঘটার পূর্বেই স্থানান্তর করতে ইউআরআই নির্ধারণ করতে পারেন। এই অ্যাপ্রোচ সম্পর্কে আরও জানতে, NfcAdapter.setBeamPushUris()দেখুন।