1

私のアプリケーションはすでにデバイスの所有者であり、ユーザーの操作なしで自分のアクティビティをピン留めできます。しかし今、他の (レガシー) アプリを自分のサービスを通じてピン留めしたいと考えています。

これはまったく可能ですか?

私が試したこと:

  • 最初に自分の「ランチャー」アプリを起動し、そのアクティビティで他のアプリケーションを起動させます: 何も起こりません (ログには、「startActivityUnchecked: ロック タスク モードに違反しようとしています」というメッセージが表示されます)。
  • 内部アクティビティ マネージャーで「startLockTaskCurrent」を呼び出します (バインダーを使用)。これにより、アクセス許可「android.permission.MANAGE_ACTIVITY_STACKS」が不足し、SecurityException が発生します。このパーミッションは内部的なものであり、システム アプリでのみ使用できます (私はそうではなく、簡単にはできません)。

他の解決策はありますか?

4

1 に答える 1

1

これは不可能です。

アプリ内でのみ使用するオプションがmDPM.setLockTaskPackages("com.foo.myapp");あり、他のアプリは後でstartLockTask();メソッドを利用できます。

于 2015-06-17T19:29:10.240 に答える