Gå til innhold

EventHandler fyrer ikke


Anbefalte innlegg

Jobber med .NET Compact Framework

 

Er det noen som kan forklare meg hvorfor disse ikke fyrer:

 

public MainForm()
	{
		InitializeComponent();

		SystemState _PhoneRoaming = new SystemState(
						SystemProperty.PhoneRoaming);
		_PhoneRoaming.Changed += new ChangeEventHandler(_PhoneRoaming_Changed);

		SystemState _PhoneHomeService = new SystemState(SystemProperty.PhoneHomeService);
		_PhoneHomeService.Changed += new ChangeEventHandler(_PhoneHomeService_Changed);

		SystemState _PhoneGprsCoverage = new SystemState(SystemProperty.PhoneGprsCoverage);
		_PhoneGprsCoverage.Changed += new ChangeEventHandler(_PhoneGprsCoverage_Changed);

		SystemState _PhoneNoService = new SystemState(SystemProperty.PhoneNoService);
		_PhoneNoService.Changed += new ChangeEventHandler(_PhoneNoService_Changed);
	}

	void _PhoneNoService_Changed(object sender, ChangeEventArgs args)
	{
		throw new NotImplementedException();
	}

	void _PhoneGprsCoverage_Changed(object sender, ChangeEventArgs args)
	{
		throw new NotImplementedException();
	}

	void _PhoneHomeService_Changed(object sender, ChangeEventArgs args)
	{
		throw new NotImplementedException();
	}

	void _PhoneRoaming_Changed(object sender, ChangeEventArgs args)
	{
		throw new NotImplementedException();
	}

 

Jeg har skrudd telefonen av og på men ingenting skjer.

Lenke til kommentar
Videoannonse
Annonse

Det kan være mange grunner til det. Telefonen din roamer ikke, mister ikke signalet ect helt uten videre. Da må du ta deg en tur ut så den får byttet basestasjon og alt det der ;)

 

Anbefaler og kjøre koden i en emulator: http://blogs.msdn.com/lokeuei/archive/2007...le-using-c.aspx

(les nederste avsnitt)

 

Du burde kanskje velge noen "enklere" properties som f.eks SystemProperty.PhoneIncomingCall der du kan enklere kan sjekke om eventene fyrer eller ikke direkte på telefonen.

Lenke til kommentar

Nei PhoneNoService trigges jo bare når du ikke får signal fra operatør. Når du skrur av telefonen (dvs ikke hibernation).

 

Nå er det litt usikkert hvordan man detekterer om et program lukkes eller ikke på .NET Compact... Men mitt beste råd er og sjekke eventer som FormClose eller tilsvarende.

 

Edit:

F.eks denne: http://msdn.microsoft.com/en-us/library/sy...formclosed.aspx

Endret av Largie
Lenke til kommentar

Lurer på om vi snakker litt rundt hverandre her.

 

Når jeg sier at jeg skrur av telefonen betyr ikke det hele telefonen, men bare telefondelen, altså flymodus. Programmet mitt går fremdeles og jeg ønsker å vite om jeg kan sende en rapport via HttpWebRequest eller ikke. Derfor tenkte jeg å sjekke på om jeg har forbindelse eller ikke om om jeg er i utlandet eller ikke. Form.Closed() har ikke noe med dette å gjøre.

Lenke til kommentar

Det gjør vi nok da. "Jeg har skrudd telefonen av og på men ingenting skjer." tolker jeg til at du har skrudd telefonen av og på fysisk.

 

Hvilken telefon er det du prøver koden på da? Jeg har lest at enkelte telefoner ikke gir eventer på usignert kode. Sjekk innstillinger etter usignertkode, det kan ligge noe der.

Lenke til kommentar
Hvis det er så kan f.eks PhoneRadioOff benyttes...

 

Edit:

Forøvrig kan du bruke emulatoren til og fjerne mobil "signalet" da burde Noservice trigge som bare det. Men det er nok av events og ta av, heldigvis :)

 

Hvordan fjerner jeg radiosignalet i emulatoren? Jeg ser man kan bytte mellom 2G og 3G og sende SMS og greier. Men jeg finner ikke hvor man kobler ut radiosignalet? Eller endrer til et annet nett (roaming)?

Endret av cub71
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...