HELP
O universo da programação para dispositivos móveis é vasto, e há diversos recursos, kits de desenvolvimento e APIs que você ainda pode explorar para aprimorar suas habilidades, e melhorar a experiência de uso em seus aplicativos!
Dessa forma, essa atividade propõe a expansão do conhecimento de forma colaborativa. Pesquise e compartilhe meios para realizar/implementar novas tarefas e funcionalidades em aplicações Android (diferentes das vistas em aula), como por exemplo, ativar recursos de notificações, inserir métodos de autenticação, trabalhar com pagamentos, inserir animações, trabalhar com dados na nuvem, entre outros.
Compartilhe os detalhes de forma resumida e ainda, e dê preferência a exemplos simples de código da API ou biblioteca abordada caso seja viável.
Formate sua resposta da seguinte maneira:
- Funcionalidade/recurso/API/biblioteca pesquisada.
- Breve descrição (definição).
- Resumo dos pontos principais sobre como implementar em um projeto (Não precisa apresentar detalhes extensos, e nem a implementação).
- Exemplos de código (apenas se for viável)
Respostas
Resposta:
CancellationTokenSource cts;
async Task GetCurrentLocation()
{
try
{
var request = new GeolocationRequest(GeolocationAccuracy.Medium, TimeSpan.FromSeconds(10));
cts = new CancellationTokenSource();
var location = await Geolocation.GetLocationAsync(request, cts.Token);
if (location != null)
{
Console.WriteLine($"Latitude: {location.Latitude}, Longitude: {location.Longitude}, Altitude: {location.Altitude}");
}
}
catch (FeatureNotSupportedException fnsEx)
{
// Handle not supported on device exception
}
catch (FeatureNotEnabledException fneEx)
{
// Handle not enabled on device exception
}
catch (PermissionException pEx)
{
// Handle permission exception
}
catch (Exception ex)
{
// Unable to get location
}
}
protected override void OnDisappearing()
{
if (cts != null && !cts.IsCancellationRequested)
cts.Cancel();
base.OnDisappearing();
}
Explicação:
android:targetSdkVersion="23" />
apply plugin: 'com.android.application'
android {
...
defaultConfig {
minSdkVersion 16
...
}
...
}
repositories {
google()
// If you're using a version of Gradle lower than 4.1, you must
// instead use:
//
// maven {
// url 'https://maven.google.com'
// }
}
}
dependencies {
...
implementation "com.android.support:support-core-utils:28.0.0"
}