小编Pie*_*ter的帖子

PackageInfo versionCode和versionName null在手机上,但适用于模拟器

我正在构建一个不会通过市场的私人应用程序.因此,我需要提取当前版本的应用程序(而不是平台)信息,并检查服务器以查看是否有更新.它在模拟器上运行良好,但是当我在我的Droid X上安装已签名的APK时,它返回null.这是代码:

PackageInfo pInfo = null;

try {
    pInfo = getPackageManager().getPackageInfo("com.rubiconproject.expenses",
                PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
    return;
} 
String postUrl = DbAdapter.REMOTE_DB +
                "/application/active-version/platform/android/version/" +
                pInfo.versionCode + "." + pInfo.versionName;
Run Code Online (Sandbox Code Playgroud)

编辑:

我在下面写了一个小得多的应用程序来显示我的问题(TestingActivity.java):

package com.rubiconproject.testing;

import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.widget.TextView;

public class TestingActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        PackageInfo pInfo = null;
        try {
            pInfo = getPackageManager().getPackageInfo(
                "com.rubiconproject.testing", PackageManager.GET_META_DATA);
        } catch (NameNotFoundException e) {
            return;
        }
        TextView …
Run Code Online (Sandbox Code Playgroud)

android android-emulator

5
推荐指数
1
解决办法
9254
查看次数

标签 统计

android ×1

android-emulator ×1