2017-01-25 11 views
1

開封時にパッケージ名を取得したい。私は、ロックアップ画面を表示したいapplockによってロックされているすべてのアプリが開かれるたびにapplock appのように達成したいと思います。ユーザーが開封したときにデバイス上のAndroid Appのパッケージ名を取得

私はいくつかの解決策を試しましたが、運が得られませんでした。 私はあなたがthis.getClass().getPackage()を呼び出すことで、現在のクラスのパッケージを取得することができますサービスで、以下の呼び出しが、

class ForegroundCheckTask extends AsyncTask<Context, Void, Boolean> { 

    @Override 
    protected Boolean doInBackground(Context... params) { 
     final Context context = params[0].getApplicationContext(); 
     return isAppOnForeground(context); 
    } 

    private boolean isAppOnForeground(Context context) { 
     ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
     List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses(); 
     if (appProcesses == null) { 
      return false; 
     } 
     final String packageName = context.getPackageName(); 
     for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) { 

       Log.e(TAG, "Process Name : " + appProcess.processName); 

       return true; 

     } 
     return false; 
    } 
} 

答えて

0

パッケージ名を取得しておりません。

方法のためのドキュメントは、クラスのドキュメントではここにある:https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html

+0

私はユーザーが開いた任意のアプリのパッケージ名を取得したいです。 –

+0

申し訳ありません私はあなたの質問を誤解したと思います、あなたが "final String packageName = context.getPackageName();" ? – SeanKelleyx

関連する問題