এই বিভাগটি দেখায় যে কীভাবে স্ন্যাপশট API ব্যবহার করতে হয় প্রতিটি সমর্থিত প্রসঙ্গ প্রকারের জন্য বর্তমান অবস্থা পেতে। আরও তথ্যের জন্য, শুরু করুন দেখুন। অবহেলিত প্রাসঙ্গিক সংকেতগুলির বিশদ বিবরণের জন্য, নিম্নলিখিত প্রসারণযোগ্য বিজ্ঞপ্তিটি খুলুন:
বর্তমান কার্যকলাপ পান
ব্যবহারকারীর বর্তমান কার্যকলাপ পেতে, getDetectedActivity()
কে কল করুন, যা একটি ActivityRecognitionResult
প্রদান করে যাতে ব্যবহারকারীর সাম্প্রতিক কার্যকলাপ সম্পর্কে তথ্য থাকে।
getDetectedActivity()
পদ্ধতির জন্য com.google.android.gms.permission.ACTIVITY_RECOGNITION
অনুমতি প্রয়োজন। AndroidManifest.xml
এ এই অনুমতি যোগ করুন।
ব্যবহারকারীর বর্তমান কার্যকলাপ পেতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
-
SnapshotClient
এর একটি উদাহরণ তৈরি করতেgetSnapshotClient()
কে কল করুন। - একটি
OnSuccessListener
তৈরি করতেaddOnSuccessListener
ব্যবহার করুন যা একটিDetectedActivityResponse
শুনতে পারে। - ফলাফলটি বৈধ কিনা তা নিশ্চিত করতে
getStatus()
কল করুন। একটি
ActivityRecognitionResult
ফেরত দিতেDetectedActivityResponse.getActivityRecognitionResult()
এ কল করুন। আপনি ব্যবহারকারীর বর্তমান কার্যকলাপের অনেক দিক পেতে এটি ব্যবহার করতে পারেন। উদাহরণ স্বরূপ:- শুধুমাত্র সবচেয়ে সম্ভাব্য কার্যকলাপ পেতে
getMostProbableActivity()
এ কল করুন। - সম্ভাব্যতার ভিত্তিতে সাম্প্রতিক কার্যকলাপের তালিকা পেতে
getProbableActivities()
কে কল করুন। - একটি প্রদত্ত কার্যকলাপ প্রকারের জন্য আত্মবিশ্বাসের মান ফেরত দিতে
getActivityConfidence()
এ কল করুন। - একটি
Intent
একটিActivityRecognitionResult
রয়েছে কিনা তা সনাক্ত করতেhasResult()
এ কল করুন।
- শুধুমাত্র সবচেয়ে সম্ভাব্য কার্যকলাপ পেতে
নিম্নলিখিত কোড উদাহরণ ব্যবহার করে getMostProbableActivity()
সবচেয়ে সম্ভাব্য সনাক্ত করা কার্যকলাপ পেতে, এবং ফলাফলটি কনসোলে লগ করতে:
Awareness.getSnapshotClient(this).getDetectedActivity()
.addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
@Override
public void onSuccess(DetectedActivityResponse dar) {
ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
DetectedActivity probableActivity = arr.getMostProbableActivity();
int confidence = probableActivity.getConfidence();
String activityStr = probableActivity.toString();
mLogFragment.getLogView().println("Activity: " + activityStr
+ ", Confidence: " + confidence + "/100");
}
})
কাছাকাছি বীকন পান
কাছাকাছি বীকন সম্পর্কে তথ্য পেতে, getBeaconState()
এ কল করুন। বীকন ডেটাতে যেকোনো সংযুক্তির বিষয়বস্তু, প্রকার এবং নামস্থান থাকে।
getBeaconState()
পদ্ধতির জন্য android.permission.ACCESS_FINE_LOCATION
অনুমতি প্রয়োজন। AndroidManifest.xml
এ এই অনুমতি যোগ করুন। এছাড়াও, আপনাকে আপনার Google Developers Console প্রকল্পের জন্য Nearby Messages API সক্রিয় করতে হবে। আরও তথ্যের জন্য, সাইনআপ এবং API কী দেখুন এবং শুরু করুন ।
কাছাকাছি বীকন সম্পর্কে তথ্য পেতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
ব্যবহারকারী প্রয়োজনীয় অনুমতি দিয়েছেন কিনা তা পরীক্ষা করুন। নিম্নলিখিত উদাহরণটি
android.permission.ACCESS_FINE_LOCATION
অনুমতি দেওয়া হয়েছে কিনা তা পরীক্ষা করে। যদি তা না হয়, ব্যবহারকারীকে সম্মতির জন্য অনুরোধ করা হয়।if (ContextCompat.checkSelfPermission( MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions( MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSION_LOCATION ); return; }
একটি
BeaconState.TypeFilter
সংজ্ঞায়িত করুন। এটি নির্দিষ্ট নামস্থান এবং প্রকারের সাথে নিবন্ধিত সংযুক্তিগুলির সাথে শুধুমাত্র বীকন প্রদান করে। আপনি সংযুক্তি সামগ্রীতে বাইট-ফর-বাইটের মিলের ভিত্তিতে ফিল্টার করতে পারেন। নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি টাইপ ফিল্টার তৈরি করতে হয়:private static final List
BEACON_TYPE_FILTERS = Arrays.asList( BeaconState.TypeFilter.with( "my.beacon.namespace", "my-attachment-type"), BeaconState.TypeFilter.with( "my.other.namespace", "my-attachment-type")); getSnapshotClient.getBeaconState()
কে কল করুন।একটি
OnSuccessListener
তৈরি করতেaddOnSuccessListener
ব্যবহার করুন যা একটিBeaconStateResponse
শুনতে পারে।ফলাফলটি বৈধ কিনা তা নিশ্চিত করতে
getStatus()
কল করুন।বীকন স্টেট ফেরত দিতে
BeaconStateResponse.getBeaconState()
কে কল করুন।BeaconState.BeaconInfo পেতে কল করুন
BeaconState.BeaconInfo
BeaconState.getBeaconInfo()
।
নিম্নলিখিত উদাহরণ দেখায় কিভাবে বীকন তথ্য পেতে হয়:
Awareness.getSnapshotClient(this).getBeaconState(BEACON_TYPE_FILTERS)
.addOnSuccessListener(new OnSuccessListener<BeaconStateResponse>() {
@Override
public void onSuccess(BeaconStateResponse beaconStateResponse) {
BeaconStateResult beaconStateResult = beaconStateResponse.getBeaconState();
BeaconState.BeaconInfo beaconInfo = beaconStateResponse.getBeaconInfo();
}
})
হেডফোনের অবস্থা পান
হেডফোনগুলি ডিভাইসে প্লাগ করা আছে কিনা তা সনাক্ত করতে, getHeadphoneState()
কল করুন, যা সনাক্ত করতে OnSuccessListener
সেট সহ একটি HeadphoneStateResponse
সনাক্তকারী অবস্থা তৈরি করে৷ তারপর আপনি HeadphoneState
পেতে getHeadphoneState()
কল করতে পারেন।
বর্তমান হেডফোন স্থিতি পেতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
-
getSnapshotClient.getHeadphoneState()
কে কল করুন। - একটি
OnSuccessListener
তৈরি করতেaddOnSuccessListener
ব্যবহার করুন যা একটিHeadphoneStateResponse
শুনতে পারে। - ফলাফলটি বৈধ কিনা তা নিশ্চিত করতে
getStatus()
কল করুন। - সফল হলে, হেডফোনের অবস্থা ফেরাতে
HeadphoneStateResponse.getHeadphoneState()
এ কল করুন। এই মানটি হয়PLUGGED_IN
বাUNPLUGGED
।
নিম্নলিখিত কোড উদাহরণ দেখায় কিভাবে getHeadphoneState()
ব্যবহার করতে হয়:
Awareness.getSnapshotClient(this).getHeadphoneState()
.addOnSuccessListener(new OnSuccessListener<HeadphoneStateResponse>() {
@Override
public void onSuccess(HeadphoneStateResponse headphoneStateResponse) {
HeadphoneState headphoneState = headphoneStateResponse.getHeadphoneState();
boolean pluggedIn = headphoneState.getState() == HeadphoneState.PLUGGED_IN;
String stateStr =
"Headphones are " + (pluggedIn ? "plugged in" : "unplugged");
mLogFragment.getLogView().println(stateStr);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG, "Could not get headphone state: " + e);
}
});
অবস্থান পান
আপনি getLocation()
এ কল দিয়ে ব্যবহারকারীর বর্তমান অবস্থান (অক্ষাংশ-দ্রাঘিমাংশ) পেতে পারেন, যা একটি LocationResponse
প্রদান করে। তারপরে আপনি বর্তমান অবস্থানের ডেটা সহ একটি Location
পেতে LocationResponse.getLocation()
এ কল করতে পারেন৷
getLocation()
পদ্ধতির জন্য android.permission.ACCESS_FINE_LOCATION
অনুমতি প্রয়োজন। AndroidManifest.xml
এ এই অনুমতি যোগ করুন।
বর্তমান অবস্থান পেতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
ব্যবহারকারী প্রয়োজনীয় অনুমতি দিয়েছেন কিনা তা পরীক্ষা করুন। নিম্নলিখিত উদাহরণটি
android.permission.ACCESS_FINE_LOCATION
অনুমতি দেওয়া হয়েছে কিনা তা পরীক্ষা করে। যদি তা না হয়, ব্যবহারকারীকে সম্মতির জন্য অনুরোধ করা হয়।if (ContextCompat.checkSelfPermission( MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions( MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSION_LOCATION ); return; }
getSnapshotClient.getLocation()
কে কল করুন।একটি
OnSuccessListener
তৈরি করতেaddOnSuccessListener
ব্যবহার করুন যা একটিLocationResponse
শুনতে পারে।ফলাফলটি বৈধ কিনা তা নিশ্চিত করতে
getStatus()
কল করুন।বর্তমান
Location
ফেরত দিতেLocationResponse.getLocation()
কে কল করুন।
নিম্নলিখিত উদাহরণ দেখায় কিভাবে বর্তমান অবস্থান পেতে হয়:
Awareness.getSnapshotClient(this).getLocation()
.addOnSuccessListener(new OnSuccessListener<LocationResponse>() {
@Override
public void onSuccess(LocationResponse locationResponse) {
Location loc = locationResponse.getLocationResult();
}
})