×
Namespaces

Variants
Actions

Archived:Sensor de orientação que detecta o dispositivo usando o Flash Lite

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Não recomendamos o desenvolvimento em Flash Lite para aparelhos atuais da Nokia. Todos os artigos relacionados a Flash Lite foram arquivados. A plataforma Nokia Asha e os aparelhos recentes S40 não possuem mais o Flash Lite. O uso de Flash Lite em Symbian é limitado. Por exemplo, informações relativas à plataforma Nokia Belle podem ser encontradas neste link (em Inglês). Informações específicas de Flash Lite para aparelhos S40 ANTIGOS e Symbian podem ser encontradas na Flash Lite Developers Library (em Inglês).

Este trecho de código demonstra como exibir dados do canal de orientação usando o Sensor da plataforma de serviços para o Flash Lite suportado a partir S60 5th Edition.

Article Metadata

Testado com
Aparelho(s): Nokia 5800 XpressMusic

Compatibilidade
Plataforma(s): S60 5th Edition
Symbian
S60 5th Edition

Artigo
Palavras-chave: Service.Sensor, sensors.FindSensorChannel(), sensors.RegisterForNotification()
Tradução:
Por FINALX
Última alteração feita por hamishwillee em 14 May 2013

Contents

Código

// Importa a Inteface da Plataforma de Serviço
import com.nokia.lib.Service;
// Designação do pedido
heading_txt.text = "Checando orientação do dispositivo";
 
// Prevenir escala do palco
Stage.scaleMode = "noScale";
var screen;
 
// Criar um novo objeto serviço que tem os dados do sensor
var sensors = new Service("Service.Sensor", "ISensor");
 
// Definir parâmetros de entrada para escolher o sensor de rotação
var inParam = {SearchCriterion:"Orientação"};
// Definir o valor do resultado
var outParams = sensors.FindSensorChannel(inParam);
// Definir informações do canal (rotação)
var channelInfo = outParams.ReturnValue;
// Definir valores válidos para informações do canal
var channelId = channelInfo[0].ChannelId;
var contextType = channelInfo[0].ContextType;
var quantity = channelInfo[0].Quantity;
var channelType = channelInfo[0].ChannelType;
var location = channelInfo[0].Location;
var vendorId = channelInfo[0].VendorId;
var dataItemSize = channelInfo[0].DataItemSize;
var channelDataTypeId = channelInfo[0].ChannelDataTypeId;
var channelInfo = {
ChannelId:channelId, ContextType:contextType, Quantity:quantity,
ChannelType:channelType, Location:location, VendorId:vendorId,
DataItemSize:dataItemSize, ChannelDataTypeId:channelDataTypeId
};
 
// Define os parâmetros de entrada para capturar os dados de canal de orientação
var inParams = {ListeningType:"ChannelData", ChannelInfoMap:channelInfo};
 
// O método RegisterForNotification registra o usuário para receber dados de
// um canal do sensor de forma assíncrona
sensors.RegisterForNotification(inParams, callBack);
 
// Por ser um método assíncrono, você precisa definir a função de callback
// Função de callback inclui todos os dados do canal
function callBack(transactionID:String, eventID:String, outParam:Object) {
if (outParam.ErrorCode == 0) {
var channelData = outParam.ReturnValue;
var deviceOr = channelData.DeviceOrientation;
// Construir palco novamente quando mudar a tela vertical ou horizontal
if(deviceOr == "DisplayUp") {
Stage.width = 360;
Stage.height = 640;
heading_txt._x = 31;
heading_txt._y = 20;
text_txt._x = 31;
text_txt._y = 100;
exit_mc._x = 360-84;
exit_mc._y = 640-47;
screen = "Vertical";
Stage.align = "TL";
} else if(deviceOr == "DisplayRightUp") {
Stage.width = 640;
Stage.height = 360;
heading_txt._x = 31;
heading_txt._y = 20;
text_txt._x = 31;
text_txt._y = 100;
exit_mc._x = 640-84;
exit_mc._y = 360-47;
screen = "Horizontal";
fscommand2( "FullScreen", true );
Stage.align = "TL";
}
text_txt.text = screen+" screen.\rOrientation: "+deviceOr;
} else {
var errorId = outParam.ErrorCode;
text_txt.text = "Error: "+errorId;
};
};

Pós-condições

Status da orientação do dispositivo é exibida. O layout vai mudar entre aplicações verticais (DisplayUp) e horizontal da tela (DisplayRightUp).

Exemplo de aplicação

A aplicação de exemplo a seguir foi testado no Nokia 5800 XpressMusic (S60 5th Edition, Flash Lite 3.0).
Checking Device Orientation

Veja também

This page was last modified on 14 May 2013, at 10:19.
70 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×