http://florent-dupont.blogspot.ro/2015/02/android-5-screen-pinning.htmlLauncihng固定アプリから「画面固定」の活動
から別のアクティビティ、あなたは、セカンダリアプリを起動することはできません。 AndroidManifest.xmlにあり、その2番目のアプリケーションは同じ証明書で とパッケージ化されています)。他のアプリケーションのアクティビティは に開始されず、(Context.startActivity()を使用して)開始され、単に が無視されます。
私は上記の2つのことを行っていますが、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#アフィ –
kellogs