Può essere facilmente fatto con l'aiuto di Xposed framework. Hai solo bisogno di sostituire il singolo metodo all'interno di una delle classi java di Android (vedi il link dalla risposta di snihalani). Ma ovviamente per usare Xposed il tuo dispositivo deve essere rootato. L'idea principale può essere espresso nel seguente codice (utilizzando Xposed)
@Override
public void handleLoadPackage(LoadPackageParam lpparam) {
try {
Class<?> wifiP2pService = Class.forName("android.net.wifi.p2p.WifiP2pService", false, lpparam.classLoader);
for (Class<?> c : wifiP2pService.getDeclaredClasses()) {
//XposedBridge.log("inner class " + c.getSimpleName());
if ("P2pStateMachine".equals(c.getSimpleName())) {
XposedBridge.log("Class " + c.getName() + " found");
Method notifyInvitationReceived = c.getDeclaredMethod("notifyInvitationReceived");
final Method sendMessage = c.getMethod("sendMessage", int.class);
XposedBridge.hookMethod(notifyInvitationReceived, new XC_MethodReplacement() {
@Override
protected Object replaceHookedMethod(MethodHookParam param) throws Throwable {
final int PEER_CONNECTION_USER_ACCEPT = 0x00023000 + 2;
sendMessage.invoke(param.thisObject, PEER_CONNECTION_USER_ACCEPT);
return null;
}
});
break;
}
}
} catch (Throwable t) {
XposedBridge.log(t);
}
}
ho testato su SGS4 magazzino 4.2.2 ROM e ha funzionato. Credo che lo stesso potrebbe essere fatto con l'aiuto di Substrate per Android.
posso apprezzare come questo suona un po 'sospetto. Come se stessi cercando di connettermi al dispositivo senza che l'utente lo sappia. Ma stiamo valutando la possibilità di utilizzare dispositivi Android come base per il tracciamento e la registrazione dei veicoli. Quindi questi dispositivi non hanno un "utente" come tale ... –
Non è un pesce. Lavoro con lui e posso assicurarti che i suoi scopi sono noiosamente legittimi - stiamo cercando di utilizzare dispositivi Android per avvisi di prossimità peer to peer all'interno di una flotta aziendale - quindi una soluzione che richiede preconfigurazione è più che accettabile, per non dire meno aperta abusare. –
@DavidKethel hai trovato qualche soluzione per passare quella finestra di autorizzazione – Hunt