Se puede hacer fácilmente con la ayuda de Xposed framework. Solo necesita reemplazar el único método dentro de una de las clases de Java de Android (vea el enlace de la respuesta de snihalani). Pero, por supuesto, para usar Xposed tu dispositivo debe estar rooteado. La idea principal se puede expresar en el siguiente código (usando 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);
}
}
he comprobado en SGS4 de la ROM 4.2.2 y funcionó. Supongo que lo mismo podría hacerse con la ayuda de Substrate para Android.
puedo apreciar cómo esto suena un poco sospechoso. Como si estuviera tratando de conectarme al dispositivo sin que el usuario lo sepa. Pero estamos viendo la posibilidad de usar dispositivos Android como base para el seguimiento y registro de vehículos. Entonces estos dispositivos no tendrán un "usuario" como tal ... –
No es sospechoso. Trabajo con él y puedo asegurarle que sus propósitos son aburridamente legítimos: estamos tratando de usar dispositivos Android para advertencias de proximidad de igual a igual dentro de una flota corporativa, por lo que una solución que requiere preconfiguración es más que aceptable, por no mencionar menos abierta mal uso. –
@DavidKethel encontraste alguna solución para pasar ese diálogo de permisos – Hunt