1

アプリの詳細:

ユーザーがデバイスのパスワードを設定する必要があるアプリを作成しています。同社は Blackberry デバイスを従業員に配布し、販売報告などに使用します。デバイスのパスワードが設定されていることを確認して、電話を盗んだ場合に機密情報に簡単にアクセスできないようにしたいと考えています。パスワードが設定されていない場合、アプリは機能しません。これは簡単です。

問題:

同社は、「デバイスのパスワードを設定してください」というメッセージが表示され、ユーザーをデバイスのオプション メニューに誘導して、デバイスのパスワードを設定する場所を表示することを望んでいます。こうすると面倒そう

私がこれまでに試したこと:

ApplicationManagerアプリケーションをフォアグラウンドに表示できるオブジェクトを調べました。ただし、次のコードを使用して、利用可能なアプリケーションを確認すると:

ApplicationManager manager = ApplicationManager.getApplicationManager();
ApplicationDescriptor descriptors[] = manager.getVisibleApplications();
for(int i=0;i<descriptors.length;i++)
{
    String applicationName= descriptors[i].getName();
    System.out.println("applicationName");
}

表示されるアプリケーションは、電話、メッセージ、Blackberry メッセージ、ホーム画面などだけですが、オプション アプリケーションが存在しないため、ここからアクセスできないと思われます。(間違っていたら教えてください)

メソッドも調べましたInvoke.invokeApplication(appType, args)が、APIにはオプションや設定などのappType定数がありません。APIは次のタイプのみを指定しており、必要なものが見つかりません。

  • APP_TYPE_ADDRESSBOOK

  • APP_TYPE_BLUETOOTH_CONFIG

  • APP_TYPE_CALCULATOR

  • APP_TYPE_CALENDAR

  • APP_TYPE_CAMERA

  • APP_TYPE_MAPS

  • APP_TYPE_MEMOPAD

  • APP_TYPE_MESSAGES

  • APP_TYPE_PHONE

  • APP_TYPE_SEARCH

  • APP_TYPE_TASKS

API ドキュメントをスキャンしましたが、正しいと思われるものが見つかりません。デバイスとオプションと設定を検索しましたが、関連するヒットはありません。

誰かが何をすべきか知っているなら、私に知らせてください。

4

2 に答える 2

1

残念ながら、この画面をプログラムで呼び出すための標準 API はありません。しかし、回避策があります。EventInjectorを使用して一連のキーボード イベントを挿入し、[オプション] 画面を開きます。

この方法はエレガントではありませんが、この場合の唯一の回避策だと思います。

アップデート:

私は次のアプローチを実装します。アプリケーションの起動時に、デバイスがDeviceInfo.isPasswordEnabled()を介してパスワードで保護されているかどうかを確認します。

デバイスがパスワードで保護されていない場合、次のメッセージが表示されます: デバイスはパスワードで保護されていません。デバイスのオプションでデバイスのパスワードを設定してください。そして、アプリケーションを再度起動します。

この方法はエレガントではありませんが、信頼性が高く、このアプリケーションを適切に使用する方法などの完全な情報を顧客に提供します。

于 2013-10-10T05:29:01.177 に答える