我最近丢失了我的 Android 设备。但是,我可以看到它仍然通过 wifi 连接到互联网(我的聊天状态在朋友的 gtalk 上显示为空闲)。我还可以通过 Google Play 远程安装应用程序。我希望创建一个应用程序,只要我远程安装它,它就可以将设备连接的全局 IP 发送到我的电子邮件地址。
这可能吗?如果是这样,我该怎么做?
有趣的。您可以使用 BroadcastReceiver 创建一个应用程序,该应用程序注册常见意图,如应用程序安装、卸载、替换、调用、发送、查看等,以便您的代码在该人下次执行几乎任何有用的操作时运行。然后在 onReceive() 中,您可以获得 IP 地址并在没有任何用户交互的情况下发送邮件,您可以参考这个
在您的 AndroidManifest xml 中声明广播接收器,例如:
<receiver android:name="com.your.app.UserActionListener">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
....add actions for edit, view, send, call, dial etc here
<data android:scheme="package" />
</intent-filter>
</receiver>
您可以继续添加到上面的操作列表中以捕获您想要的任何内容。
在代码中,添加一个类:
public class UserActionListener extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent pkgIntent)
{
Log.d("onReceive");
// get ip address here and send silently
}
}
通过这种方式,您可以捕获使用您设备的人将执行的大部分操作,例如卸载应用程序、打开文档等。
请注意,要使您的方法生效,您需要在 GooglePlay 上上传您的应用程序。