Ich fürchte, das wird so nicht ausreichend sein.
Einerseits kannst Du nicht Appseitig vom Host in den Accessory Modus wechseln. Für den Schlossöffner benötigst Du die Spannung ja im Normalfall nur ganz kurz. (Unter 1 Minute)
Der USB Host Modus legt ja aber nicht nur die Spannung an, er konfiguriert das komplette Gerät einmal durch, um als Host zu agieren.
Wenn man den Modus verlässt, konfiguriert sich das komplette Gerät wieder durch, um als Client zu arbeiten.
Diese Vorgänge benötigen Zeit und mit Deinem Ansatz kann es durchaus passieren, dass die Wechsel schneller erfolgen als diese Konfigurationen abgeschlossen werden können.
Hinzu kommt, dass die gängigen USB Schnittstellen ~5V bei 100/500/900mA liefern.
(Gibts da schon USB 3.0 drin?)
Bessere Versorgung bekommst Du mit USB 3.1 Typ C, je nach Typ von 5V 2A bis hin zu 20V 5A.
Allerdings speist das Telefon die Schnittstelle, über 5V/2A wirst Du da nicht kommen.
Ich kann nicht beurteilen, ob das Deinem MOSFET reicht um auf zu machen und ob es dem Schloss genügt, um sich zu entriegeln.
Da müsstest Du entsprechend die Spezifikationen vergleichen und gegebenenfalls einen Hochleistungs-MOSFET an der Steckdose nutzen, um den Steuerstrom entsprechend hochzupushen.
Wie dem auch sei, die Spannungsversorgung des USB Host Modus ist eben genau dafür gedacht: Zur Spannungsversorgung.
Damit würdest Du also Deinem MOSFET erst einmal nur die SOURCE Spannung zur Verfügung stellen. Ob es eine gute Idee ist, ihm diese wieder zu entziehen, kann ich nicht beurteilen. So viel Hardware habe ich nicht gemacht. Ich kann es mir aber nicht vorstellen.
In jedem Fall benötigst Du aber auch einen Steuerstrom GATE, sonst passiert gar nix. (Ich gehe mal von einem selbstsperrenden MOS aus, wäre sonst blöd für ein Schloss.)
Natürlich könntest Du jetzt die Spannung auf auf GATE legen, aber das halte ich für völlig falsch.
Zwirbel lieber das USB Kabel auseinander, leg die Spannung auf SOURCE und nimm ein Steuerkabel für GATE.
(Also ROT auf SOURCE, SCHWARZ sowie PIN 4 auf N, GRÜN auf GATE)
WEISS dürftest Du nicht brauchen, da Du ja keine Antworten vom Gerät erwartest.
(Natürlich könntest Du das Ding an DRAIN klemmen und signalisieren: OFFEN (Strom fließt))
Dann implementierst Du gemäß des USB Host Guides der Android Seite die Kommunikation und es sollte soweit alles laufen.
(WENN denn die Spannung der Steuerleitung für den GATE Deines MOSFET ausreicht. Ich finde keine Informationen darüber, wie viel da so bei rum kommt.)
Noch zu beachten wäre allerdings, dass Dein MOSFET nicht zu viel Strom zieht.
Gemäß Standard sollte das Ding maximal 100mA ziehen und bei einem Mehrbedarf fragen. Du müsstest also im Idealfall einen USB Controller vor Dein MOSFET setzen, dass sich um die Aushandlung des Stroms kümmern und in dem Zusammenhang auch gleich die Steuerung des MOSFET übernehmen kann.
So würdest Du die Sache jedenfalls 'richtig' im Sinne von 'dem USB Standard entsprechend' machen.
Wenn Dein MOSFET zu viel Strom zieht, kann es nämlich passieren, dass Dir das Energiemanagement Deines Smartphones durcheinander kommt oder, schlimmer noch, es Dir Deinen Port zersemmelt.
(Also immer schön auf einem ganz alten und unwichtigen Testgerät, bestenfalls mit abgelaufener Gewährleistung rumprobieren.)
Wenn Du dann noch einen Microcontroller zwischen setzt, kann der Dir vielleicht noch tollere Informationen auf Deinen USB Controller schieben.
'Habe geöffnet' und 'Habe geschlossen' statt 'OFFEN' zum Beispiel.