Device identifier by Airbridge. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)
import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.common.onSuccessimport co.ab180.airbridge.common.onFailure Airbridge.fetchDeviceUUID( onSuccess = { deviceUUID -> }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.common.onSuccess;import co.ab180.airbridge.common.onFailure; Airbridge.fetchDeviceUUID( deviceUUID -> { }, throwable -> { });import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallback Airbridge.getDeviceInfo().getUUID(object : AirbridgeCallback.SimpleCallback<String>() { override fun onSuccess(result: String) { } override fun onFailure(throwable: Throwable) { }})import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.AirbridgeCallback; Airbridge.getDeviceInfo().getUUID(new AirbridgeCallback.SimpleCallback<String>() { @Override public void onSuccess(String result) { } @Override public void onFailure(@NotNull Throwable throwable) { }});Random UUID assigned by Airbridge upon app install on each device. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)
import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.common.onSuccessimport co.ab180.airbridge.common.onFailure Airbridge.fetchAirbridgeGeneratedUUID( onSuccess = { airbridgeGeneratedUUID -> }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.common.onSuccess;import co.ab180.airbridge.common.onFailure; Airbridge.fetchAirbridgeGeneratedUUID( airbridgeGeneratedUUID -> { }, throwable -> { });import co.ab180.airbridge.Airbridge Airbridge.fetchAirbridgeGeneratedUUID { uuid -> }import co.ab180.airbridge.Airbridge; Airbridge.fetchAirbridgeGeneratedUUID((uuid) -> { });Unique ID that publishers can use to identify which apps a specific user has installed. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)
import com.google.android.gms.appset.AppSetimport com.google.android.gms.appset.AppSetIdClientimport com.google.android.gms.appset.AppSetIdInfoimport com.google.android.gms.tasks.Task val client = AppSet.getClient(applicationContext) as AppSetIdClientval task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo> task.addOnSuccessListener({ val appSetIdScope: Int = it.scope val appSetId: String = it.id})import android.content.Context; import com.google.android.gms.appset.AppSet;import com.google.android.gms.appset.AppSetIdClient;import com.google.android.gms.appset.AppSetIdInfo;import com.google.android.gms.tasks.OnSuccessListener;import com.google.android.gms.tasks.Task; Context context = getApplicationContext();AppSetIdClient client = AppSet.getClient(context);Task<AppSetIdInfo> task = client.getAppSetIdInfo(); task.addOnSuccessListener(new OnSuccessListener<AppSetIdInfo>() { @Override public void onSuccess(AppSetIdInfo info) { int appSetIdScope = info.getScope(); String appSetId = info.getId(); }});Advertising ID issued by Google. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)
import co.ab180.airbridge.Airbridge Airbridge.fetchGoogleAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge; Airbridge.fetchGoogleAdvertisingIdInfo( result -> { // GAID result.getId(); // LAT result.isLimitAdTrackingEnabled(); }, throwable -> { });import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.AdvertisingIdInfo Airbridge.getDeviceInfo().getAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { override fun onSuccess(result: AdvertisingIdInfo) { result.getId() // GAID result.getLimitAdTrackingEnabled() // LAT } override fun onFailure(throwable: Throwable) { }})import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.AirbridgeCallback;import co.ab180.airbridge.AdvertisingIdInfo; Airbridge.getDeviceInfo().getGoogleAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { @Override public void onSuccess(AdvertisingIdInfo result) { result.getId(); // GAID result.getLimitAdTrackingEnabled(); // LAT } @Override public void onFailure(@NotNull Throwable throwable) { }});Device's Google Limit AD Tracking information. (example: true)
import co.ab180.airbridge.Airbridge Airbridge.fetchGoogleAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge; Airbridge.fetchGoogleAdvertisingIdInfo( result -> { // GAID result.getId(); // LAT result.isLimitAdTrackingEnabled(); }, throwable -> { });import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.AdvertisingIdInfo Airbridge.getDeviceInfo().getAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { override fun onSuccess(result: AdvertisingIdInfo) { result.getId() // GAID result.getLimitAdTrackingEnabled() // LAT } override fun onFailure(throwable: Throwable) { }})import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.AirbridgeCallback;import co.ab180.airbridge.AdvertisingIdInfo; Airbridge.getDeviceInfo().getGoogleAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { @Override public void onSuccess(AdvertisingIdInfo result) { result.getId(); // GAID result.getLimitAdTrackingEnabled(); // LAT } @Override public void onFailure(@NotNull Throwable throwable) { }});InstallReferrer information sent by Google Play Service.
import co.ab180.airbridge.Airbridge Airbridge.fetchGoogleInstallReferrerDetails( onSuccess = { result -> }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge; Airbridge.fetchGoogleInstallReferrerDetails( result -> { }, throwable -> { });import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.ReferrerDetails Airbridge.getDeviceInfo().getGoogleInstallReferrerDetails(object : AirbridgeCallback<ReferrerDetails?> { override fun onSuccess(result: ReferrerDetails?) { } override fun onFailure(throwable: Throwable) { } override fun onComplete() { }})import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.AirbridgeCallback;import co.ab180.airbridge.ReferrerDetails; Airbridge.getDeviceInfo().getGoogleInstallReferrerDetails(new AirbridgeCallback.SimpleCallback<ReferrerDetails>() { @Override public void onSuccess(ReferrerDetails details) { } @Override public void onFailure(Throwable throwable) { }});Advertising ID issued by Huawei. (example: 82a16ec9-a273-48b6-9bb2-017eab641109)
import co.ab180.airbridge.Airbridge Airbridge.fetchHuaweiAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge; Airbridge.fetchHuaweiAdvertisingIdInfo( result -> { // GAID result.getId(); // LAT result.isLimitAdTrackingEnabled(); }, throwable -> { });import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.AdvertisingIdInfo Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { override fun onSuccess(result: AdvertisingIdInfo) { result.getId() // OAID result.getLimitAdTrackingEnabled() // LAT } override fun onFailure(throwable: Throwable) { }})import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.AirbridgeCallback;import co.ab180.airbridge.AdvertisingIdInfo; Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { @Override public void onSuccess(AdvertisingIdInfo result) { result.getId(); // OAID result.getLimitAdTrackingEnabled(); // LAT } @Override public void onFailure(@NotNull Throwable throwable) { }});Device's Huawei Limit AD Tracking information. (example: true)
import co.ab180.airbridge.Airbridge Airbridge.fetchHuaweiAdvertisingIdInfo( onSuccess = { result -> // GAID result.id // LAT result.isLimitAdTrackingEnabled }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge; Airbridge.fetchHuaweiAdvertisingIdInfo( result -> { // GAID result.getId(); // LAT result.isLimitAdTrackingEnabled(); }, throwable -> { });import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.AdvertisingIdInfo Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(object : AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { override fun onSuccess(result: AdvertisingIdInfo) { result.getId() // OAID result.getLimitAdTrackingEnabled() // LAT } override fun onFailure(throwable: Throwable) { }})import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.AirbridgeCallback;import co.ab180.airbridge.AdvertisingIdInfo; Airbridge.getDeviceInfo().getHuaweiAdvertisingIdInfo(new AirbridgeCallback.SimpleCallback<AdvertisingIdInfo>() { @Override public void onSuccess(AdvertisingIdInfo result) { result.getId(); // OAID result.getLimitAdTrackingEnabled(); // LAT } @Override public void onFailure(@NotNull Throwable throwable) { }});InstallReferrer information sent by Huawei Mobile Service.
import co.ab180.airbridge.Airbridge Airbridge.fetchHuaweiInstallReferrerDetails( onSuccess = { result -> }, onFailure = { throwable -> })import co.ab180.airbridge.Airbridge; Airbridge.fetchHuaweiInstallReferrerDetails( result -> { }, throwable -> { });import co.ab180.airbridge.Airbridgeimport co.ab180.airbridge.AirbridgeCallbackimport co.ab180.airbridge.ReferrerDetails Airbridge.getDeviceInfo().getHuaweiInstallReferrerDetails(object : AirbridgeCallback<ReferrerDetails?> { override fun onSuccess(result: ReferrerDetails?) { } override fun onFailure(throwable: Throwable) { } override fun onComplete() { }})import co.ab180.airbridge.Airbridge;import co.ab180.airbridge.AirbridgeCallback;import co.ab180.airbridge.ReferrerDetails; Airbridge.getDeviceInfo().getHuaweiInstallReferrerDetails(new AirbridgeCallback.SimpleCallback<ReferrerDetails>() { @Override public void onSuccess(ReferrerDetails details) { } @Override public void onFailure(Throwable throwable) { }});Device model name. (example: Pixel 3a)
import android.os.Build Build.MODEL // ex : Pixel 3aimport android.os.Build; Build.MODEL; // ex : Pixel 3aDevice manufacturer information. (example: Google)
import android.os.Build Build.MANUFACTURER // ex : Googleimport android.os.Build; Build.MANUFACTURER; // ex : GoogleDevice OS name. (example: Android)
"Android" // use constant string"Android" // use constant stringDevice OS version. (example: 10)
import android.os.Build Build.VERSION.RELEASE // ex : 10import android.os.Build; Build.VERSION.RELEASE; // ex : 10Device locale settings. (example: en-US)
import java.util.* // ex : en-US"${Locale.getDefault().language}-${Locale.getDefault().country}"import java.util.*; // ex : en-USString.format("%s-%s", Locale.getDefault().getLanguage(), Locale.getDefault().getCountry());Device timezone settings. (example: US/Pacific)
import java.util.* TimeZone.getDefault().id // ex : US/Pacificimport java.util.*; TimeZone.getDefault().getId(); // ex : US/PacificDevice display orientation. Values will be either "portrait" or "landscape". (example: portrait)
import android.content.res.Configurationimport android.content.Context var orientation: Stringif (context.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) { orientation = "portrait"} else { orientation = "landscape"}import android.content.Context;import android.content.res.Configuration; String orientation;if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { orientation = "portrait";} else { orientation = "landscape";}Device's screen density. (example: 3.000)
import android.util.DisplayMetricsimport android.view.Displayimport android.view.WindowManagerimport android.content.Context val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManagerif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { val realDisplayMetrics = DisplayMetrics() windowManager.defaultDisplay.getRealMetrics(realDisplayMetrics) val width = realDisplayMetrics.widthPixels val height = realDisplayMetrics.heightPixels val dpi = realDisplayMetrics.densityDpi} else { val displayMetrics = DisplayMetrics() windowManager.defaultDisplay.getMetrics(displayMetrics) try { val width = Display::class.java .getMethod("getRawWidth") .invoke(windowManager.defaultDisplay) as Int val height = Display::class.java .getMethod("getRawHeight") .invoke(windowManager.defaultDisplay) as Int val dpi = displayMetrics.densityDpi } catch (_: Exception) { }}import android.util.DisplayMetrics;import android.view.Display;import android.view.WindowManager;import android.content.Context; WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { DisplayMetrics realDisplayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getRealMetrics(realDisplayMetrics); int width = realDisplayMetrics.widthPixels; int height = realDisplayMetrics.heightPixels; int dpi = realDisplayMetrics.densityDpi;} else { DisplayMetrics displayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getMetrics(displayMetrics); try { int width = (int) Display.class .getMethod("getRawWidth") .invoke(windowManager.getDefaultDisplay()); int height = (int) Display.class .getMethod("getRawHeight") .invoke(windowManager.getDefaultDisplay()); int dpi = displayMetrics.densityDpi; } catch (Exception e) { }}Device's actual width. (example: 375.0)
import android.util.DisplayMetricsimport android.view.Displayimport android.view.WindowManagerimport android.content.Context val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManagerif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { val realDisplayMetrics = DisplayMetrics() windowManager.defaultDisplay.getRealMetrics(realDisplayMetrics) val width = realDisplayMetrics.widthPixels val height = realDisplayMetrics.heightPixels val dpi = realDisplayMetrics.densityDpi} else { val displayMetrics = DisplayMetrics() windowManager.defaultDisplay.getMetrics(displayMetrics) try { val width = Display::class.java .getMethod("getRawWidth") .invoke(windowManager.defaultDisplay) as Int val height = Display::class.java .getMethod("getRawHeight") .invoke(windowManager.defaultDisplay) as Int val dpi = displayMetrics.densityDpi } catch (_: Exception) { }}import android.util.DisplayMetrics;import android.view.Display;import android.view.WindowManager;import android.content.Context; WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { DisplayMetrics realDisplayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getRealMetrics(realDisplayMetrics); int width = realDisplayMetrics.widthPixels; int height = realDisplayMetrics.heightPixels; int dpi = realDisplayMetrics.densityDpi;} else { DisplayMetrics displayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getMetrics(displayMetrics); try { int width = (int) Display.class .getMethod("getRawWidth") .invoke(windowManager.getDefaultDisplay()); int height = (int) Display.class .getMethod("getRawHeight") .invoke(windowManager.getDefaultDisplay()); int dpi = displayMetrics.densityDpi; } catch (Exception e) { }}Device's actual height. (example: 667.0)
import android.util.DisplayMetricsimport android.view.Displayimport android.view.WindowManagerimport android.content.Context val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManagerif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { val realDisplayMetrics = DisplayMetrics() windowManager.defaultDisplay.getRealMetrics(realDisplayMetrics) val width = realDisplayMetrics.widthPixels val height = realDisplayMetrics.heightPixels val dpi = realDisplayMetrics.densityDpi} else { val displayMetrics = DisplayMetrics() windowManager.defaultDisplay.getMetrics(displayMetrics) try { val width = Display::class.java .getMethod("getRawWidth") .invoke(windowManager.defaultDisplay) as Int val height = Display::class.java .getMethod("getRawHeight") .invoke(windowManager.defaultDisplay) as Int val dpi = displayMetrics.densityDpi } catch (_: Exception) { }}import android.util.DisplayMetrics;import android.view.Display;import android.view.WindowManager;import android.content.Context; WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { DisplayMetrics realDisplayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getRealMetrics(realDisplayMetrics); int width = realDisplayMetrics.widthPixels; int height = realDisplayMetrics.heightPixels; int dpi = realDisplayMetrics.densityDpi;} else { DisplayMetrics displayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getMetrics(displayMetrics); try { int width = (int) Display.class .getMethod("getRawWidth") .invoke(windowManager.getDefaultDisplay()); int height = (int) Display.class .getMethod("getRawHeight") .invoke(windowManager.getDefaultDisplay()); int dpi = displayMetrics.densityDpi; } catch (Exception e) { }}Longitude of device's LastKnownLocation.
import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)val bestLocation: Location = when { (gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation } (gpsLocation != null) -> gpsLocation else -> netLocation} ?: return null val latitude = bestLocation?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speedimport android.location.Location;import android.location.LocationManager; LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);Location bestLocation = null; if ((gpsLocation != null) && (netLocation != null)) { if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) { bestLocation = gpsLocation; } else { bestLocation = netLocation; }} else if (gpsLocation != null) { bestLocation = gpsLocation;} else { bestLocation = netLocation;} if (bestLocation != null) { double latitude = bestLocation.getLatitude(); double longitude = bestLocation.getLongitude(); double altitude = bestLocation.getAltitude(); float speed = bestLocation.getSpeed();}Latitude of device's LastKnownLocation.
import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)val bestLocation: Location = when { (gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation } (gpsLocation != null) -> gpsLocation else -> netLocation} ?: return null val latitude = bestLocation?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speedimport android.location.Location;import android.location.LocationManager; LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);Location bestLocation = null; if ((gpsLocation != null) && (netLocation != null)) { if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) { bestLocation = gpsLocation; } else { bestLocation = netLocation; }} else if (gpsLocation != null) { bestLocation = gpsLocation;} else { bestLocation = netLocation;} if (bestLocation != null) { double latitude = bestLocation.getLatitude(); double longitude = bestLocation.getLongitude(); double altitude = bestLocation.getAltitude(); float speed = bestLocation.getSpeed();}Altitude of device's LastKnownLocation.
import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)val bestLocation: Location = when { (gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation } (gpsLocation != null) -> gpsLocation else -> netLocation} ?: return null val latitude = bestLocation?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speedimport android.location.Location;import android.location.LocationManager; LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);Location bestLocation = null; if ((gpsLocation != null) && (netLocation != null)) { if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) { bestLocation = gpsLocation; } else { bestLocation = netLocation; }} else if (gpsLocation != null) { bestLocation = gpsLocation;} else { bestLocation = netLocation;} if (bestLocation != null) { double latitude = bestLocation.getLatitude(); double longitude = bestLocation.getLongitude(); double altitude = bestLocation.getAltitude(); float speed = bestLocation.getSpeed();}Speed of device's LastKnownLocation.
import android.location.Locationimport android.location.LocationManager val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManagerval gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)val netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)val bestLocation: Location = when { (gpsLocation != null) and (netLocation != null) -> if (gpsLocation.accuracy < netLocation.accuracy) { gpsLocation } else { netLocation } (gpsLocation != null) -> gpsLocation else -> netLocation} ?: return null val latitude = bestLocation?.latitudeval longitude = bestLocation?.longitudeval altitude = bestLocation?.altitudeval speed = bestLocation?.speedimport android.location.Location;import android.location.LocationManager; LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);Location gpsLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);Location netLocation = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);Location bestLocation = null; if ((gpsLocation != null) && (netLocation != null)) { if (gpsLocation.getAccuracy() < netLocation.getAccuracy()) { bestLocation = gpsLocation; } else { bestLocation = netLocation; }} else if (gpsLocation != null) { bestLocation = gpsLocation;} else { bestLocation = netLocation;} if (bestLocation != null) { double latitude = bestLocation.getLatitude(); double longitude = bestLocation.getLongitude(); double altitude = bestLocation.getAltitude(); float speed = bestLocation.getSpeed();}Device network carrier information.
import android.telephony.TelephonyManager val telephonyManager = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManagerval carrier = telephonyManager.networkOperatorNameimport android.telephony.TelephonyManager; TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);String carrier = telephonyManager.getNetworkOperatorName();Device bluetooth status. (example: true)
import android.bluetooth.BluetoothAdapter val bluetoothAdapter = BluetoothAdapter.getDefaultAdapter()val enabled = bluetoothAdapter.isEnabledimport android.bluetooth.BluetoothAdapter; BluetoothAdapter bluetoothAdapter = (BluetoothAdapter) BluetoothAdapter.getDefaultAdapter();val enabled = bluetoothAdapter.isEnabled();Device mobile data status. (example: true)
import android.net.ConnectivityManagerimport android.net.NetworkCapabilitiesimport android.content.Context val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val activeNetwork = connectivityManager.activeNetwork val capabilities = connectivityManager.getNetworkCapabilities(activeNetwork) val cellularEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)} else { val networkInfo = connectivityManager.activeNetworkInfo val cellularEnabled = (networkInfo.type == ConnectivityManager.TYPE_MOBILE)}import android.net.ConnectivityManager;import android.net.Network;import android.net.NetworkCapabilities;import android.content.Context; ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { Network activeNetwork = connectivityManager.getActiveNetwork(); NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(activeNetwork); boolean cellularEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR);} else { NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); boolean cellularEnabled = (networkInfo.type == ConnectivityManager.TYPE_MOBILE);}Device wifi status. (example: true)
import android.net.ConnectivityManagerimport android.net.NetworkCapabilitiesimport android.content.Context val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val activeNetwork = connectivityManager.activeNetwork val capabilities = connectivityManager.getNetworkCapabilities(activeNetwork) val wifiEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)} else { val networkInfo = connectivityManager.activeNetworkInfo val wifiEnabled = (networkInfo.type == ConnectivityManager.TYPE_WIFI)}import android.net.ConnectivityManager;import android.net.Network;import android.net.NetworkCapabilities;import android.content.Context; ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { Network activeNetwork = connectivityManager.getActiveNetwork(); NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(activeNetwork); boolean wifiEnabled = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI);} else { NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); boolean wifiEnabled = (networkInfo.type == ConnectivityManager.TYPE_WIFI);}Application package name. (example: co.ab180.ablog)
import android.content.pm.PackageManagerimport android.content.Context var packageName = ""try { val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0) packageName = packageInfo.packageName} catch (e: PackageManager.NameNotFoundException) { }import android.content.pm.PackageManager;import android.content.pm.PackageInfo;import android.content.Context; String packageName = "";try { PackageInfo packageInfo = context.getPackageManager.getPackageInfo(context.packageName, 0) packageName = packageInfo.packageName;} catch (PackageManager.NameNotFoundException e) { }Application version name. (example: 1.0.0)
import android.content.pm.PackageManagerimport android.content.Context var versionName = ""try { val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0) versionName = packageInfo.versionName} catch (e: PackageManager.NameNotFoundException) { }import android.content.pm.PackageManager;import android.content.pm.PackageInfo;import android.content.Context; String packageName = "";try { PackageInfo packageInfo = context.getPackageManager.getPackageInfo(context.packageName, 0); packageName = packageInfo.versionName;} catch (PackageManager.NameNotFoundException e) { }Timestamp(milliseconds) of when the event was sent. (example: 1581043739682)
System.currentTimeMillis()System.currentTimeMillis();このページは役に立ちましたか?