これは簡単にXposed frameworkの助けを借りて行うことができます。あなたはアンドロイドのJavaクラスの中の単一のメソッドを置き換えるだけです(snihalaniの答えのリンクを参照してください)。もちろん、Xposedを使用するには、あなたのデバイスは根づかなければなりません。主なアイデアは、私はSGS4ストック4.2.2 ROMにそれをテストし、それが働いた(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);
}
}
で発現させることができます。 アンドロイドのSubstrateの助けを借りて同じことができると思います。
これはビット容疑者をどのように聞こえるか私は理解することができます。私はユーザーに知らせずにデバイスに接続しようとしています。しかし、我々は、車の追跡と伐採の基盤としてAndroidデバイスを使用する可能性について検討しています。だから、これらのデバイスは、そのような "ユーザー"を持っていません... –
それは魚ではありません。私は彼と一緒に仕事をしています。私は彼の目的が退屈な正当なものであることを保証することができます。企業車の中でピアツーピアの接近警告のためにAndroidデバイスを使用しようとしているため、あらかじめ設定する必要があるソリューションは、誤用する。 –
@DavidKethelあなたはその権限ダイアログを渡すための解決策を見つけましたか? – Hunt