2011-12-23 11 views
-2

現在開いているアプリケーション名を見つける際に問題があります。 私は可視アプリケーションを取得するためにApplicationManagerクラスを使用しました。 アプリケーションディスクリプタは、これらのすべてのアプリケーションの電子メール、メッセージング、SMS、通話ログに同じ名前を表示しています。 上記のすべてのアプリに対して「net_rim_bb_messaging_app」と表示されています。forgroundアプリケーションの検索方法Blackberryの一意のID /名前

これらのアプリケーション(電子メール、メッセージング、SMS、コールログ)が開かれたときに、それらの固有の識別子/名前を見つける必要があります。 私はこれを過去3日間試してみて、解決策を見つけることができません。 この問題の解決方法を教えていただけますか?ループのための上記のある

ApplicationDescriptor [] appDis = manager.getVisibleApplications(); 
int currentForgroundAppID = manager.getForegroundProcessId(); 

for(int i=0;i<appIDs.length;i++) 
{ 
    if(appDis[i].getModuleName().equals("net_rim_bb_messaging_app")) 
    { 
     //print Messaging app in foreground... 
    } 
} 

場合は、このリスト内のすべてのアプリのために真です。

  1. メール、
  2. テキストメッセージ
  3. コールログ...

しかし、私は開かれたアプリケーションを見つけるためのユニークな方法を見つける必要があります。前売で

おかげで、

Satish.k

+0

をあなたはRIMに連絡する必要があります表示することができます。 この問題を見つける別の関数を追加するように依頼してください... –

答えて

0

次のコードは、現在のforegroundApplication名に

ApplicationDescriptor[] mAppDes; 
    ApplicationManager appMan = ApplicationManager.getApplicationManager(); 
        appMan.getForegroundProcessId(); 

        mAppDes = appMan.getVisibleApplications(); 
          for (int i = 0; i < mAppDes.length; i++) { 
           boolean isFG = appMan.getProcessId(mAppDes[i]) == appMan.getForegroundProcessId(); 
           if(isFG) 
           { 
            System.out.println("This is your Foteground application Name"+mAppDes[i].getName()); 
            }else{ 
             System.out.println("This is your Background application Name"+mAppDes[i].getName()); 
            } 
          } 
関連する問題