Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

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

From 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 07:19.
464 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.

×