我正在开发一个自助服务终端应用程序(安装在有根的Android设备上),并希望删除对该设置的访问权限。我想这可以通过删除“settings.apk”来完成,我是对的吗?如果没有,请纠正我。
问题是,删除Settings.apk会有什么副作用?有什么我应该注意的吗?
答案 0 :(得分:1)
我认为这是一个坏主意。我认为您需要创建一个可以在锁定屏幕上运行的应用程序。 在你的主FragmentActivity中,你必须添加下一个窗口标志:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
如果您的设备有家庭物理按钮,那么您需要添加到AndroidManifest标志以用于启动器应用程序:
<activity
android:name="YourFragmentActivity"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY" />
</intent-filter>
</activity>
您必须为设备添加锁定方法(引脚,图案等)。然后启动您的应用程序,按下锁定按钮(屏幕将关闭),再次按下锁定按钮。你的应用程序将在锁屏上。 (没有人可以进入设置)
避免退出:
@Override
public void onBackPressed() {
if (firstfragment.isVisible()) { //first fragment loaded in your backstack
} else {
super.onBackPressed();
}
}
<强>更新强>
这是一段视频,展示了如何运作:
PD:抱歉我的英语不好。答案 1 :(得分:0)
是的,如果你删除了Settings.apk,那么你就会破坏很多东西。比如,在新的wifi连接,蓝牙配对,声音调整方面的功能。此外,您将破坏对它的引用,例如当用户尝试从状态栏下拉菜单或启动器启动设置时,它将导致相应的应用程序崩溃,无论是系统还是用户。但为什么删除apk? Ty寻找替代品,这将简单地限制用户访问它。希望我帮帮忙。