【发布时间】:2015-05-13 08:50:53
【问题描述】:
有像http://pumpic.com/这样的暴民监控应用,可以在iOS和Android上监控目标手机的GPS位置,有没有办法让这个应用对用户不可见?
【问题讨论】:
-
用户可以找到正在运行的进程/应用程序......所以我会说在不接触系统的情况下在 android 中不行
标签: android ios monitoring
有像http://pumpic.com/这样的暴民监控应用,可以在iOS和Android上监控目标手机的GPS位置,有没有办法让这个应用对用户不可见?
【问题讨论】:
标签: android ios monitoring
在 iOS 上没有办法让应用不可见
在 iOS 8 之前,有一个 ability 用于隐藏应用程序图标,但在 app-info.plist 中使用的 SBAppTags 键自 iOS 8 以来已过时。这也是未记录的功能,具有该键的应用程序将未通过 AppStore 审核
此外,App Store Review Guidelines 这么说
2.4 包含与应用描述不一致的未记录或隐藏功能的应用将被拒绝
您的应用也与该声明冲突,因为它会向用户隐藏其功能。
最后,隐含地来自iOS Human Interface Guidelines:
每个应用都需要一个美观、令人难忘的应用图标,该图标能够在 App Store 中吸引用户并在主屏幕上脱颖而出
这意味着应用程序应该在主屏幕上可用,并且应该有自己的图标。您对隐藏应用的要求也无法满足
【讨论】:
我认为你需要改变提问的方式,
您可以将应用程序作为后台任务监控移动设备。
为此,您需要创建一个后台服务并在该服务中编写您的移动跟踪代码,
所以服务将在后台运行(不可见)。
参考此链接:
【讨论】:
在安卓中
使用以下代码隐藏应用程序
PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class); // activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" />
p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
使用以下代码取消隐藏应用程序
PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class);
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
【讨论】: