[英]Quitbutton for Kiosk-Mode App
I am looking for a solution for quiting an kioskmode-application on an Android. 我正在寻找用于退出Android上的kioskmode应用程序的解决方案。
Out application is running in Kioskmode to prevent accidential closing by hitting back or home buttons, but we need to close it on request. Out应用程序正在Kiosk模式下运行,以防止通过按返回或Home键意外关闭,但是我们需要根据要求将其关闭。 Does anybody have any solution for that? 有人对此有解决方案吗?
We implementet kioskmode by adding 我们通过添加来实现et信息亭模式
AndroidManifest.xml: AndroidManifest.xml中:
<uses-permission android:name="android.permission.REORDER_TASKS"/>
[...]android:theme="@android:style/Theme.NoTitleBar">[...]
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT"/>
I use this code: 我使用以下代码:
public void getDefaultLauncher()
{
final Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
PackageManager pm = getPackageManager();
final List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
pm.clearPackagePreferredActivities(getApplicationContext().getPackageName());
for(ResolveInfo ri : list)
{
if(!ri.activityInfo.packageName.equals(getApplicationContext().getPackageName()))
{
startSpecificActivity(ri);
return;
}
}
}
private void startSpecificActivity(ResolveInfo launchable)
{
ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName, activity.name);
Intent i=new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(name);
startActivity(i);
}
Maybe it works for you as well. 也许它也对您有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.