Example usage for android.content.pm PackageManager getPackageInfo

List of usage examples for android.content.pm PackageManager getPackageInfo

Introduction

In this page you can find the example usage for android.content.pm PackageManager getPackageInfo.

Prototype

public abstract PackageInfo getPackageInfo(VersionedPackage versionedPackage, @PackageInfoFlags int flags)
        throws NameNotFoundException;

Source Link

Document

Retrieve overall information about an application package that is installed on the system.

Usage

From source file:com.aniruddhc.acemusic.player.AsyncTasks.AsyncGetGooglePlayMusicMetadataTask.java

@Override
protected String doInBackground(String... params) {

    //Check if any music is playing and fade it out.
    am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
    if (mApp.isServiceRunning()) {

        if (mApp.getService().isPlayingMusic()) {
            targetVolume = 0;/*  w  w w .  j  av a 2 s  . co  m*/
            currentVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);
            while (currentVolume > targetVolume) {
                am.setStreamVolume(AudioManager.STREAM_MUSIC, (currentVolume - stepDownValue), 0);
                currentVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);

            }

            mContext.stopService(new Intent(mContext, AudioPlaybackService.class));

        }

    }

    //Check if the Google Play Music app is installed.
    PackageManager pm = mContext.getPackageManager();
    boolean installed = false;
    try {
        pm.getPackageInfo("com.google.android.music", PackageManager.GET_ACTIVITIES);
        installed = true;
    } catch (NameNotFoundException e1) {
        //The app isn't installed.
        installed = false;
    }

    String result = "GENERIC_EXCEPTION";
    if (installed == false) {
        //Can't do anything here anymore. Quit.
        mApp.getSharedPreferences().edit().putBoolean("GOOGLE_PLAY_MUSIC_ENABLED", false).commit();
        return null;
    } else {
        //Grab music metadata from Google Play Music's public content mApp.
        result = getMetadataFromGooglePlayMusicApp();
    }
    return result;
}

From source file:it.scoppelletti.mobilepower.app.AbstractActivity.java

/**
 * Costruisce il testo delle note di rilascio.
 * //from w  w  w.  jav  a  2s .  co  m
 * @param resId Identificatore del vettore di stringhe che rappresenta le
 *              note di release.
 * @return      Testo. Può essere {@code null}.
 */
private String buildReleaseNotes(int resId) {
    int n;
    int ver, lastVer;
    String note, pkgName;
    StringBuilder buf;
    PackageInfo pkgInfo;
    PackageManager pkgMgr;
    SharedPreferences prefs;
    SharedPreferences.Editor editor;
    String[] notes;

    try {
        notes = getResources().getStringArray(resId);
    } catch (Resources.NotFoundException ex) {
        myLogger.debug("Release notes {} not found.", resId);
        return null;
    }

    if (ArrayUtils.isEmpty(notes)) {
        myLogger.warn("Release notes {} is empty.", resId);
        onNextAsyncInitializer();
        return null;
    }

    pkgName = getPackageName();
    pkgMgr = getPackageManager();

    try {
        pkgInfo = pkgMgr.getPackageInfo(pkgName, 0);
    } catch (PackageManager.NameNotFoundException ex) {
        myLogger.error("Failed to get PackageInfo.", ex);
        pkgInfo = null;
    }
    if (pkgInfo == null) {
        myLogger.debug("No PackagerInfo set.");
        return null;
    }

    ver = pkgInfo.versionCode;
    prefs = PreferenceManager.getDefaultSharedPreferences(this);
    lastVer = prefs.getInt(AppUtils.PREF_LASTVER, 1);
    myLogger.debug("Version code={}, Last version code={}", ver, lastVer);

    editor = prefs.edit();
    editor.putInt(AppUtils.PREF_LASTVER, ver);
    editor.apply();

    if (ver == 1 || ver <= lastVer) {
        return null;
    }

    ver -= 2;
    lastVer = (lastVer > 0) ? lastVer - 2 : -1;
    buf = new StringBuilder();

    for (n = notes.length - 1; ver > lastVer; ver--) {
        if (ver > n) {
            continue;
        }

        note = notes[ver];
        if (StringUtils.isBlank(note)) {
            continue;
        }

        buf.append(note);
    }
    if (buf.length() == 0) {
        return null;
    }

    buf.insert(0, "</h1>");
    buf.insert(0, getString(R.string.lbl_releaseNotes));
    buf.insert(0, "<h1>");

    return buf.toString();
}

From source file:com.github.gorbin.asne.instagram.InstagramSocialNetwork.java

private boolean isPackageInstalled(String packagename, Context context) {
    PackageManager pm = context.getPackageManager();
    try {/* www  .  j a v a  2 s .com*/
        pm.getPackageInfo(packagename, PackageManager.GET_ACTIVITIES);
        return true;
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
}

From source file:com.huofu.RestaurantOS.ui.splash.activate.java

/**
 * ?// w  w w. j  av a2s  . co  m
 */
public void init() {

    MainApplication.setmActivity(this);
    rl_activate = (RelativeLayout) findViewById(R.id.rl_activate);
    rl_activate_input = (RelativeLayout) findViewById(R.id.rl_activate_code_input);
    rl_activate_qrscan_ready = (RelativeLayout) findViewById(R.id.rl_activate_qrcode_scan_ready);

    ctxt = getApplicationContext();

    buttonActivate = (Button) findViewById(R.id.buttonActivate);
    buttonSwitchInputCode = (Button) findViewById(R.id.button_switch_acitvate_keyboard_way);
    buttonSwitchQrScan = (Button) findViewById(R.id.button_activate_switch_to_qrscan);

    textviewScanStauts = (TextView) findViewById(R.id.textview_activate_status);

    etActivteCode = (EditText) findViewById(R.id.editTextActivateCode);

    titanic = new Titanic();
    ttv = new TitanicTextView(getApplicationContext());

    bitmapUtils = new BitmapUtils(getApplicationContext(), pathAcitvateCache, 150 * 1024 * 1024,
            150 * 1024 * 1024);
    bigPicDisplayConfig = new BitmapDisplayConfig();
    bigPicDisplayConfig.setShowOriginal(true); // ,?, ???, OOM
    callback = new DefaultBitmapLoadCallBack<ImageView>() {
        public void onLoadCompleted(ImageView container, String uri, android.graphics.Bitmap bitmap,
                BitmapDisplayConfig config, com.lidroid.xutils.bitmap.callback.BitmapLoadFrom from) {

            CommonUtils.sendMsg("", HIDE_LOADING, mUiHandler);

            imageViewQrcode.setVisibility(View.VISIBLE);
            imageViewQrcode.setBackgroundDrawable(new BitmapDrawable(bitmap));
            stopQrScanTimer();

            timerQrcode = new Timer();
            timerTaskQrcode = new TimerTask() {

                @Override
                public void run() {

                    if (!flagActivate) {
                        timerTaskQrcode.cancel();
                        timerQrcode.cancel();
                        return;
                    }

                    long qrcodeLastTime = System.currentTimeMillis() / 1000 - qrcodeCreateTime;
                    CommonUtils.LogWuwei(tag, "qrcodeLastTime is " + qrcodeLastTime);
                    if (qrcodeLastTime > 300) {
                        timerTaskQrcode.cancel();
                        timerQrcode.cancel();
                        sendUIMessage(SHOW_QRCODE_REFRSH_AGAIN, "");
                        return;
                    }

                    // TODO Auto-generated method stub
                    if (active) {
                        ApisManager.ScanAuthQrcode(tokenQrcode, new ApiCallback() {
                            @Override
                            public void success(Object object) {
                                sendUIMessage(HIDE_LOADING, "");
                                JSONObject oj = (JSONObject) object;

                                if (Integer.parseInt(oj.getString("status")) != 1) {
                                    return;
                                }
                                String status = oj.getString("related_status");

                                if (status.equals("5") || status.equals("3") && activate.active)//?
                                {
                                    if (activate.flagAuthSuccess) {
                                        return;
                                    }

                                    activate.flagAuthSuccess = true;

                                    if (activate.active) {
                                        CommonUtils.sendMsg(null, activate.STOP_SCAN_QRCODE_TIMER, mUiHandler);
                                        String master_key = oj.getString("master_key");
                                        LocalDataDeal.writeToLocalMasterKey(master_key, ctxt);

                                        String client_id = oj.getString("client_id");
                                        LocalDataDeal.writeToLocalClientId(client_id, ctxt);
                                        CommonUtils.sendMsg("", SCAN_QRCODE_SUCCESS, mUiHandler);
                                    }

                                } else if (status.equals("1")) {
                                    CommonUtils.sendMsg("?",
                                            UPDATE_QRCODE_SCAN_STATUS, mUiHandler);
                                } else if (status.equals("2")) {
                                    CommonUtils.sendMsg("",
                                            UPDATE_QRCODE_SCAN_STATUS, mUiHandler);
                                } else if (status.equals("4")) {
                                    activate.flagWaitingCmd = true;
                                    CommonUtils.sendMsg("",
                                            UPDATE_QRCODE_SCAN_STATUS, mUiHandler);
                                } else if (status.equals("6"))//?????
                                {
                                    activate.flagWaitingCmd = false;
                                    activate.stopQrScanTimer();
                                    CommonUtils.sendMsg("???", AUTH_FAILED, mUiHandler);
                                } else if (status.equals("7")) {
                                    activate.flagWaitingCmd = false;
                                    activate.stopQrScanTimer();
                                    CommonUtils.sendMsg("??", AUTH_FAILED,
                                            mUiHandler);
                                } else if (status.equals("0")) {
                                    activate.flagWaitingCmd = false;
                                    activate.stopQrScanTimer();
                                    CommonUtils.sendMsg("???", AUTH_FAILED, mUiHandler);
                                }
                            }

                            @Override
                            public void error(BaseApi.ApiResponse response) {
                                sendUIMessage(HIDE_LOADING, "");
                            }
                        });
                    }

                }
            };
            timerQrcode.schedule(timerTaskQrcode, 0, 1000);
        }
    };
    imageViewQrcode = (ImageView) findViewById(R.id.imageview_activate_qrcode_scan);

    PackageManager manager;
    PackageInfo info = null;
    manager = this.getPackageManager();
    String versionName = null;
    try {
        info = manager.getPackageInfo(this.getPackageName(), 0);
        versionName = info.versionName;
        String version = CommonUtils.getSringAfterChar(versionName, 'V');
        LocalDataDeal.writeToLocalVersionName(ctxt, version);
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }
}

From source file:com.android.launcher3.Utilities.java

private static boolean isPackageExisted(Context context, String targetPackage) {
    PackageManager pm = context.getPackageManager();
    try {//  www.  j  av a 2s . c om
        PackageInfo info = pm.getPackageInfo(targetPackage, PackageManager.GET_META_DATA);
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
    return true;
}

From source file:com.huofu.RestaurantOS.ui.splash.activate.java

/**
 * ?/*from  w  w w  .j  a v  a 2  s. c om*/
 */
public void widgetConfigure() {

    buttonActivate.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            if (authDialog == null) {
                authDialog = new Dialog(activate.this, R.style.PauseDialog);
            }
            if (ttv.getParent() != null) {
                ttv = new TitanicTextView(ctxt);
            }

            String key = etActivteCode.getText().toString();
            if (key.length() >= 16) {
                CommonUtils.LogWuwei(tag, "key is " + key);
                CommonUtils.sendMsg("?", activate.SHOW_LOADING_TEXT, mUiHandler);
                activate(ctxt, key);
            } else {
                CommonUtils.sendMsg("????", activate.SHOW_ERROR_MESSAGE, mUiHandler);
            }

        }
    });

    InputFilter filter = new InputFilter() {

        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
                int dend) {
            // TODO Auto-generated method stub
            for (int i = start; i < end; i++) {
                //???'-'
                if (!Character.isLetter(source.charAt(i)) && source.charAt(i) != '-') {
                    return "";
                }
            }
            return null;
        }
    };

    InputFilter filterLength = new InputFilter.LengthFilter(19);

    etActivteCode.setCursorVisible(false);
    etActivteCode.setFilters(new InputFilter[] { filter, filterLength });
    etActivteCode.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            // TODO Auto-generated method stub
        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

            etActivteCode.setCursorVisible(true);
            etActivteCode.removeTextChangedListener(this);// ?
            etActivteCode.setText(s.toString().toUpperCase());// ?
            etActivteCode.setSelection(s.toString().length());// ??
            etActivteCode.addTextChangedListener(this);// ?
            String licensePlateNumber = etActivteCode.getText().toString().trim();

            if (s.length() == 19) {
                InputMethodUtils.HideKeyboard(etActivteCode);
            }

        }
    });
    etActivteCode.setOnKeyListener(new OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            if (keyCode == KeyEvent.KEYCODE_DEL) {
                CommonUtils.LogWuwei(tag, "delete");
                etActivteCode.setCursorVisible(false);
            }
            return false;
        }
    });

    rl_activate_qrscan_ready.setVisibility(View.INVISIBLE);

    OnClickListener oclGetQrCode = new OnClickListener() {
        @Override
        public void onClick(View v) {
            flagInQrcodeDialog = true;
            CommonUtils.sendMsg("??", SHOW_LOADING_TEXT, mUiHandler);

            if (LocalDataDeal.readFromLocalPublicKey(ctxt) == null
                    || LocalDataDeal.readFromLocalPublicKey(ctxt).equals("")) {
                ApisManager.GetPublicKey(new ApiCallback() {
                    @Override
                    public void success(Object object) {
                        sendUIMessage(HIDE_LOADING, "");
                        try {
                            org.json.JSONObject obj = new org.json.JSONObject((String) object);
                            String public_key = obj.getString("public_key");
                            LocalDataDeal.writeToLocalPublicKey(public_key, ctxt);//key?base64?
                        } catch (Exception e) {
                        }
                        CommonUtils.sendMsg("", GET_QRCODE, mUiHandler);
                    }

                    @Override
                    public void error(BaseApi.ApiResponse response) {
                        sendUIMessage(HIDE_LOADING, "");
                        sendUIMessage(SHOW_ERROR_MESSAGE, response.error_message);
                    }
                });
            } else {
                CommonUtils.sendMsg("", GET_QRCODE, mUiHandler);
            }

            rl_activate_input.setVisibility(View.INVISIBLE);
            rl_activate_qrscan_ready.setVisibility(View.VISIBLE);
            imageViewQrcode.setVisibility(View.INVISIBLE);
            rl_activate_qrscan_ready
                    .startAnimation(new AnimationUtils().loadAnimation(ctxt, R.anim.small_2_big));

            textviewScanStauts.setTextColor(Color.parseColor("#898989"));
            textviewScanStauts.setText(R.string.activateByQrCodeTips);

            rl_activate_qrscan_ready
                    .startAnimation(new AnimationUtils().loadAnimation(ctxt, R.anim.slide_left_in));
            rl_activate_input.startAnimation(new AnimationUtils().loadAnimation(ctxt, R.anim.slide_right_out));
        }
    };

    buttonSwitchQrScan.setOnClickListener(oclGetQrCode);
    findViewById(R.id.rl_switch_activate_qrcode_way).setOnClickListener(oclGetQrCode);

    buttonSwitchInputCode.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            flagInQrcodeDialog = false;
            flagWaitingCmd = false;
            rl_activate_qrscan_ready.setVisibility(View.INVISIBLE);
            rl_activate_input.setVisibility(View.VISIBLE);
            rl_activate_input.startAnimation(new AnimationUtils().loadAnimation(ctxt, R.anim.small_2_big));

            stopQrScanTimer();

            rl_activate_input.startAnimation(new AnimationUtils().loadAnimation(ctxt, R.anim.slide_right_in));
            rl_activate_qrscan_ready
                    .startAnimation(new AnimationUtils().loadAnimation(ctxt, R.anim.slide_left_out));

        }
    });

    findViewById(R.id.rl_switch_activate_keyboard_way).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            flagInQrcodeDialog = false;
            flagWaitingCmd = false;
            rl_activate_qrscan_ready.setVisibility(View.INVISIBLE);
            rl_activate_input.setVisibility(View.VISIBLE);
            rl_activate_input.startAnimation(new AnimationUtils().loadAnimation(ctxt, R.anim.small_2_big));

            stopQrScanTimer();
        }
    });

    PackageManager manager;
    PackageInfo info = null;
    manager = this.getPackageManager();
    String versionName = null;
    try {
        info = manager.getPackageInfo(this.getPackageName(), 0);
        versionName = info.versionName;
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }

    ((TextView) findViewById(R.id.tv_app_version))
            .setText(getResources().getString(R.string.app_name) + " V" + versionName);

    LocalDataDeal.writeToLocalVersion(versionName, ctxt);
    LocalDataDeal.writeToLocalVersionCode(info.versionCode, ctxt);

    ftpServiceStart();
}

From source file:com.yerdy.services.Yerdy.java

/**
 * Initializes Yerdy/*  ww  w. jav a 2  s.  co  m*/
 * 
 * @param context   current activity context
 * @param publisherKey   Your publisher key (get one from <a href="http://www.yerdy.com">here</a>)
 * @category Configuration
 */
public void startWithPublisherKey(Context context, String publisherKey) {
    _initialized = true;
    Resources res = context.getResources();
    int icon = res.getIdentifier("notification_icon", "drawable", Yerdy.getInstance().getAppPackage());
    YRDPushManager.Register(context, icon);

    _publisherKey = publisherKey.substring(0, 16);
    _publisherSecret = publisherKey.substring(16);
    _appPacakge = context.getPackageName();
    _appVersionName = "0.0.1";
    _appVersionCode = 0;
    if (_currencyTracker == null)
        _currencyTracker = new YRDCurrencyTracker(context.getApplicationContext());
    if (_historyTracker == null)
        _historyTracker = new YRDHistoryTracker(context.getApplicationContext());
    if (_progressionTracker == null)
        _progressionTracker = new YRDProgressionTracker(context.getApplicationContext(), _historyTracker);
    if (_eventTracker == null)
        _eventTracker = new YRDEventTracker(context.getApplicationContext());
    if (_adRequestTracker == null)
        _adRequestTracker = new YRDAdRequestTracker(context.getApplicationContext());
    if (_featureMasteryTracker == null)
        _featureMasteryTracker = new YRDFeatureMasteryTracker(context, _historyTracker);

    try {
        PackageManager packageManager = context.getPackageManager();
        PackageInfo packageInfo = packageManager.getPackageInfo(_appPacakge, 0);
        _appVersionName = packageInfo.versionName;
        _appVersionCode = packageInfo.versionCode;
    } catch (NameNotFoundException e) {
        e.printStackTrace();
    }

    _applicationContext = context.getApplicationContext();
    _installerPackage = context.getPackageManager().getInstallerPackageName(_appPacakge);
    YRDAnalytics.getInstance().setLaunchClient(context, new YRDLaunchClient() {
        @Override
        public void launchReported() {
            fetchMessages(_applicationContext);
        }

        @Override
        public void launchReportFailed(Exception error) {
            fetchMessages(_applicationContext);
        }

        @Override
        public void launchSkipped() {
            if (_forceMessageFetchNextResume)
                fetchMessages(_applicationContext);
        }
    });

    boolean newVersion = YRDAnalytics.getInstance().versionMismatch();
    if (newVersion)
        _adRequestTracker.newVersionDetected();

    YRDAnalytics.getInstance().appHandleActivate(context, _currencyTracker.generateCurrencyReport(null),
            _adRequestTracker.generateReport(), _historyTracker, false);
    queueTimeMilestone();
    _adRequestTracker.didReportToServer();

    YRDLog.i(this.getClass(), "Starting.  Version: " + YerdyVersion.VERSION);
    YRDLog.i(this.getClass(),
            "To enable test mode for this device, copy/paste the device ID below into the Yerdy dashboard.");
    YRDLog.i(this.getClass(), "Device ID: " + YerdyUtil.getUDID(context));
}

From source file:com.kjsaw.alcosys.ibacapp.IBAC.java

public String getAppVersion() {
    try {// www.  ja v a2  s  . c  o m
        PackageManager manager = this.getPackageManager();
        PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
        return info.versionName;
    } catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return "";
}

From source file:com.eleybourn.bookcatalogue.utils.Utils.java

/**
 * Return the MD5 hash of the public key that signed this app, or a useful 
 * text message if an error or other problem occurred.
 *//*from w  w  w.  java2s. c  om*/
public static String signedBy(Context context) {
    // Get value if no cached value exists
    if (mSignedBy == null) {
        try {
            // Get app info
            PackageManager manager = context.getPackageManager();
            PackageInfo appInfo = manager.getPackageInfo(context.getPackageName(),
                    PackageManager.GET_SIGNATURES);
            // Each sig is a PK of the signer:
            //     https://groups.google.com/forum/?fromgroups=#!topic/android-developers/fPtdt6zDzns
            for (Signature sig : appInfo.signatures) {
                if (sig != null) {
                    final MessageDigest sha1 = MessageDigest.getInstance("MD5");
                    final byte[] publicKey = sha1.digest(sig.toByteArray());
                    // Turn the hex bytes into a more traditional MD5 string representation.
                    final StringBuffer hexString = new StringBuffer();
                    boolean first = true;
                    for (int i = 0; i < publicKey.length; i++) {
                        if (!first) {
                            hexString.append(":");
                        } else {
                            first = false;
                        }
                        String byteString = Integer.toHexString(0xFF & publicKey[i]);
                        if (byteString.length() == 1)
                            hexString.append("0");
                        hexString.append(byteString);
                    }
                    String fingerprint = hexString.toString();

                    // Append as needed (theoretically could have more than one sig */
                    if (mSignedBy == null)
                        mSignedBy = fingerprint;
                    else
                        mSignedBy += "/" + fingerprint;
                }
            }

        } catch (NameNotFoundException e) {
            // Default if package not found...kind of unlikely
            mSignedBy = "NOPACKAGE";

        } catch (Exception e) {
            // Default if we die
            mSignedBy = e.getMessage();
        }
    }
    return mSignedBy;
}