我正在评估是否以及如何移植CF .NET企业应用程序以在Android设备上运行.Windows Mobile手机上的应用程序以kiosk模式运行,其中应用程序在启动后以全屏模式自动启动,并且用户无法意外或自愿访问手机的任何其他部分.
Android上是否可以在启动后只有一个应用程序自动启动,并防止用户意外(或自愿)访问Android设备的任何其他部分?
我开发了一款应用程序,用于医院的平板电脑供患者使用.
现在我被要求让平板电脑的唯一功能是我的应用程序,以防止个人或任何人使用它进行网页浏览,游戏或其他任何事情.
这可能吗?
我想知道我是否可以覆盖背部和主页按钮的动作是一些情况.通常这些按钮应该像往常一样反应,但在某些情况下,某些设置为真,我想覆盖按钮并让它们调用我自己的方法.
我使用这两种方法来覆盖这些按钮:
@Override
public void onBackPressed() {
// call my backbutton pressed method when boolean==true
}
@Override
public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
// call my homebutton pressed method when boolean==true
}
Run Code Online (Sandbox Code Playgroud) 阅读Android文档和这里的一些答案使得clearTaskOnLaunch应该如何工作变得模棱两可.特别
1)如何识别根活动?它只是具有DEFAULT,LAUNCHER或MAIN意图过滤器的那个吗?
2)从文档中的"主屏幕"启动意味着OS主屏幕或应用程序列表,对吗?即不在应用程序中.
3)每当从主屏幕启动该活动时,clearTaskOnLaunch是否清除活动堆栈,或者只是当从主屏幕启动该活动的进程时?因为文档表明前者,但这里的帖子表明后者.我想这取决于"发射"的定义是什么.
编辑: 4)"清除"活动堆栈是否意味着从字面上删除它,或让活动循环通过onCreate()和finish()?
我以各种可想象的方式操纵clearTaskOnLaunch,完全没有效果.我已将它放在清单中的根活动中,然后将其放在每个活动中以确保,完全终止进程后重新启动我的应用程序等等.我的活动堆栈根本没有被清除.
任何人都可以提供有关如何实现clearTaskOnLaunch的完整概述吗?
我有一些spash屏幕的麻烦.当我启动应用程序时,启动屏幕活动会启动几秒钟.主要活动启动后.
如果我按下主活动上的主页按钮然后从应用程序列表重新启动应用程序,则尽管应用程序已经在后台,但启动活动仍会再次启动.但我希望主要活动从记忆中恢复.
如果我按下后退按钮,那么android会将我返回到主活动的上一个副本.
制作启动画面只需要出现一次我需要做什么?如何在点击主页按钮之前从我看到的最后一个屏幕重新启动我的应用程序?
<activity
android:name=".ui.SplashActivity"
android:noHistory="true"
android:screenOrientation="portrait"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".ui.MainActivity"/>
Run Code Online (Sandbox Code Playgroud)