Przejdź do głównej zawartości

Toggle Vibrate & Ring

Toggle VibraOrRing
cab installation for WM 6.0:
XDA Thread...

c# how to toggle Vibra and Ring On ? simple... use this code :)

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace toggleVibrateSound
{
class Program
{
private enum SoundEvent
{
All = 0,
RingLine1,
RingLine2,
KnownCallerLine1,
RoamingLine1,
RingVoip
}

private enum SoundType
{
On = 0,
File = 1,
Vibrate = 2,
None = 3
}

private struct SNDFILEINFO
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string szPathNameNative;

[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string szDisplayNameNative;

public SoundType SstType;
}


[DllImport("aygshell.dll", SetLastError = true)]
private static extern uint SndSetSound(SoundEvent seSoundEvent, ref SNDFILEINFO pSoundFileInfo, bool fSuppressUI);

[DllImport("aygshell.dll", SetLastError = true)]
private static extern uint SndGetSound(SoundEvent seSoundEvent, ref SNDFILEINFO pSoundFileInfo);


public static void SetRingerOn()
{
SNDFILEINFO sfi = new SNDFILEINFO();
sfi.SstType = SoundType.On;
uint ret = SndSetSound(SoundEvent.All, ref sfi, true);
}

public static void GetCurrentSoundType()
{
SNDFILEINFO sfi = new SNDFILEINFO();
uint ret = SndGetSound(SoundEvent.All, ref sfi);
SoundType aa = sfi.SstType;
if (aa == 0) Vibra(); else SetRingerOn();
}

public static void Vibra()
{
SNDFILEINFO sfi = new SNDFILEINFO();
sfi.SstType = SoundType.Vibrate;
uint ret = SndSetSound(SoundEvent.All, ref sfi, true);
}
unsafe static void Main(string[] args)
{
//Vibra(); // set vibra mode on
//SetRingerOn(); // set ringer mode on
GetCurrentSoundType(); // in this case we toggle Vibra and Ring...

}
}
}

cheers... :)

Komentarze

Popularne posty z tego bloga

Angular2 + Moment.js library with Visual Studio 2017 .Net Core 2.0

Hey there! Recently I was facing problem with adding MomentJs library to Angular2 in .net core 2.0 project.  I'm using Visual Studio 2017 15.3.3.  ( https://www.visualstudio.com/pl/thank-you-downloading-visual-studio/?sku=Community&rel=15 ) Create new test project 2. Use Web -> Angular template  3. Compile and run in chrome to check that everything is ok.  4. Edit package.json. At the end of "dependencies" add new line:  "moment": "2.18.1" 5. Edit tsconfig.json file, At "compilerOptions" add: "allowSyntheticDefaultImports": true, 6. Edit home.component.ts and add: import * as moment from 'moment'; and the constructor.     constructor() {         try {             console.log("test");             let now = moment().format('LLLL');             console.log(now);     ...

Link Creator 1.4

Version 1.4 added: 1) Save as Manilla Softkey (Left and Right Softkey, and it works very well with arguments - so now creating link to for ex.TouchLockPro with additional LOCK argument is very easy...) 2) Create URL/Mail - now You can create mail or www.* link and put it to whatever you want place ;) - it uses default - signed to specified type system program (for browsing www and creating emails) fixed: 1) exception when file doesn't exist (in selecting File and clicking OK) - now if everything is allright OK button will be colored to Red otherwise you will be promped with msg. 2) installation problem with adding shortcut to Link Creator to the Start Menu\Programs - now it's fixed (on not WWE Roms for ex. Polish Roms there was problem with it) 3) in 1.3 version link additional argument was added under inverted commas (1#"\FOLDER\program.exe argument"), now it's fixed (added checkbox "argument outside inverted commas" for default it is checked... and now...