http://florent-dupont.blogspot.ro/2015/02/android-5-screen-pinning.htmlLauncihng 고정 된 앱에서는 '화면 고정'활동
에서 다른 활동, 당신은 보조 응용 프로그램을 시작할 수 없습니다 AndroidManifest.xml에서 두 번째 애플리케이션은 동일한 인증서로 으로 패키징됩니다. 다른 응용 프로그램의 활동은 에 시작될 수 없으므로 Context.startActivity()를 사용하여 간단히 을 무시합니다.
위의 두 가지를 수행했지만 startActivity()
은 여전히 무시되고 있습니다. https://developer.android.com/reference/android/R.attr.html#lockTaskMode에서
:
이 활동이 시작됩니다 루트로 새 작업은 그 작업을하거나 활동의 패키지가 있었는지에 를 따라 시작되지 않을 때 시스템이 lockTask 모드에 이미있는 경우 화이트리스트.
나는이 작업을 위해 필요한 조치를 취한 것처럼 보입니다.
누구도이 작업을 수행 한 사람이 있습니까?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
ComponentName deviceAdmin = new ComponentName(this, AdminReceiver.class);
mDpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (!mDpm.isAdminActive(deviceAdmin)) {
Toast.makeText(this, getString(R.string.not_device_admin), Toast.LENGTH_SHORT).show();
}
if (mDpm.isDeviceOwnerApp(getPackageName()))
{
mDpm.setLockTaskPackages(deviceAdmin, new String[]{getPackageName(), "com.that.other.package"});
try
{
enableKioskMode(true);
PackageManager pm = this.getPackageManager();
Intent it = pm.getLaunchIntentForPackage("com.that.other.package");
if (null != it) {
this.startActivity(it);
Log.d(_TAG, "Started activity for com.that.other.package");
}
}
catch (Exception e)
{
Log.e(_TAG, e.getMessage());
finish();
}
} else {
Toast.makeText(this, getString(R.string.not_device_owner), Toast.LENGTH_SHORT).show();
}
}
private void enableKioskMode(boolean enabled) throws Exception
{
if (enabled)
{
if (mDpm.isLockTaskPermitted(this.getPackageName()))
{
startLockTask();
mIsKioskEnabled = true;
mButton.setText(getString(R.string.exit_kiosk_mode));
} else {
Toast.makeText(this, getString(R.string.kiosk_not_permitted), Toast.LENGTH_SHORT).show();
}
} else {
stopLockTask();
mIsKioskEnabled = false;
mButton.setText(getString(R.string.enter_kiosk_mode));
}
}
동일한 문제가 있습니다. 샘플 코드를 보여줄 수 있습니까? – Meir
@Meir 샘플 코드는 질문에 있습니다. 'taskAffinity'가 문서를 체크 아웃하는 것은 어렵지 않습니다. https://developer.android.com/guide/topics/manifest/activity-element.html# 매니페스트의 ''태그에 넣으십시오. aff –
kellogs