我正在寻找一种在Android上退出kioskmode-application的解决方案。
Out应用程序在Kioskmode中运行,以防止通过回击或主页按钮来关闭,但我们需要根据请求关闭它。有人有任何解决方案吗?
我们通过添加
实现kioskmode的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"/>
答案 0 :(得分:1)
我使用此代码:
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);
}
也许它也适合你。