首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓系统上的Pkpass

安卓系统上的Pkpass
EN

Stack Overflow用户
提问于 2013-01-28 02:26:54
回答 1查看 29.9K关注 0票数 16

有一个安卓应用程序Passwallet可以解释苹果应用程序Passbook (https://play.google.com/store/apps/details?id=com.attidomobile.passwallet)的pkpass文件

我在想怎么读pkpass文件。

Pkpass文件似乎是压缩文件,其中包含json文件中的所有信息。pkpass文件有默认结构吗?如果是这样,那又是什么呢?将其导入android应用程序的好方法是什么?

对于那些想知道如何读取pkpass文件内容的人,请参考以下代码:

我使用pkpass文件的意图筛选器设置了此活动。

代码语言:javascript
运行
AI代码解释
复制
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />

            <data
                android:mimeType="application/vnd-com.apple.pkpass"
                android:scheme="content" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />

            <data
                android:mimeType="application/vnd.apple.pkpass"
                android:scheme="content" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />

            <data
                android:mimeType="application/vnd-com.apple.pkpass"
                android:scheme="file" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />

            <data
                android:mimeType="application/vnd.apple.pkpass"
                android:scheme="file" />
        </intent-filter>
代码语言:javascript
运行
AI代码解释
复制
@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
Intent intent = getIntent();
Uri uri = intent.getData();
String scheme = uri.getScheme();

if(ContentResolver.SCHEME_CONTENT.equals(scheme)) {
    try {
        InputStream attachment = getContentResolver().openInputStream(uri);
        handleZipInput(attachment);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}
else {
    String path = uri.getEncodedPath();
    try {
        FileInputStream fis = new FileInputStream(path);
        handleZipInput(fis);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}
}

private void handleZipInput(InputStream in) {
    try {
        ZipInputStream zis = new ZipInputStream(in);
        ZipEntry entry;
        while((entry = zis.getNextEntry()) != null) {
            String filename = entry.getName();
            if(filename.equals("pass.json")) {
                StringBuilder s = new StringBuilder();
                int read = 0;
                byte[] buffer = new byte[1024];
                while((read = zis.read(buffer, 0, 1024)) >= 0)
                    s.append(new String(buffer, 0, read));

                JSONObject pass = new JSONObject(s.toString());
                break;
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-28 02:48:09

您可以从.pkpass下载这里包的完整规范。pass内容存储在一个名为pass.json的JSON文件中。.pkpass包是一个包含pass.json、pass图像、可选地区文件和清单文件的压缩文件。

清单需要用苹果颁发的通行证ID证书进行签名。然而,对于Android或任何其他第三方应用程序,构建pass所需的一切都可以从pass.json和捆绑的图像中读取。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14559959

复制
相关文章
360可能导致云服务器出现这些问题
解决方案:找替代方案,比如火绒,但是火绒的病毒库不如360,各有利弊吧,自己选适合自己的
Windows技术交流
2023/03/15
1.8K0
【问题汇总】云API产品常见问题汇总
问题:在使用云API的时候,频繁请求接口,指不定哪次就会发生失败,提示鉴权错误等,是不是自己的SecretId被封了?
None-xiaomi
2018/07/11
2.2K0
opencv使用中出现的问题
2、opencv使用人脸识别过程中,需要引入haarcascade_frontalface_alt2.xml文件,如果放在项目的lib文件中,在打包的过程中能够打到包里,但是在动态引用的过程中,由于jar包中文件的引用出现混乱路径的情况,找不到文件。找到一个折中的办法,haarcascade_frontalface_alt2.xml文件放到固定目录下,再引用的时候,只需要读取固定的路径即可。
用户5640963
2020/10/26
1K0
汉字使用默认解码出现问题
老生常谈的一个问题,汉字编码与解码问题,各种编码就不再复制粘贴了,需要的话维基百科捡起来再看看。
gigiwangs
2019/03/01
6550
JavaScript 使用 for 循环时出现的问题
有一些项目组在定位问题的时候发现,在使用 “for(x in array)” 这样的写法的时候,在 IE 浏览器下,x 出现了非预期的值。
四火
2022/07/15
4.4K0
JavaScript 使用 for 循环时出现的问题
编译安装Apache出现无法启动服务问题
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80no listening sockets available, shutting downUnable to open logs
星哥玩云
2022/06/30
1.1K0
CentOS 7 使用ror出现的问题
rails server $ rails server => Booting Puma => Rails 6.0.3.2 application starting in development => Run `rails server --help` for more startup options Exiting Traceback (most recent call last): 65: from bin/rails:4:in `<main>' 64: from /us
天地一小儒
2022/12/28
8880
API网关客户端调用出现504问题排查
API 网关是用于实现完整 API 托管的服务,用于协助开发者轻松完成 API 的创建、维护、发布、监控等整个生命周期的管理。通过 API 网关,您可以封装后端各种服务,以 API 的形式,提供给各方使用。同时,API 网关协助您完成 API 文档管理、API 测试和 SDK 生成等。
邓愉悦
2020/10/23
5.6K0
云函数SCF运行出现响应超时问题排查
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。SCF 是实时文件处理和数据处理等场景下理想的计算平台。
邓愉悦
2020/10/23
2.6K0
使用pdfbox转换image时出现黑线问题
在使用pdfbox将pdf转image时在转换后的图片出现了一些粗粗的黑线,起初以为是pdfbox的bug,经过一系列的验证发现发生问题的根本原因在jai-imageio-jpeg2000这个jar包。
用户3459520
2021/05/11
2.2K0
代理HTTP使用不当会出现哪些问题?如何正确使用代理服务?
代理HTTP是一种常见的网络代理方式,它为客户端和服务器之间提供中间层,转发上下游的请求和响应。正确使用代理HTTP可以提高采集效率、增加网络安全性、加速网络速度、保护用户隐私。但是,使用不当就难以达到预期的效果,在使用代理HTTP服务器时还有一些需要注意的问题,下面将对这些问题进行详细介绍。
用户10746662
2023/09/11
4230
win7 TTS补丁-可修复XP,Win7系统下不能使用TTS语音引擎的问题
TTS语音修复可修复XP,Win7系统下不能使用TTS语音引擎的问题,精简版Win7,XP,尤其从网上下载的ghost版本的系统,TTS语音引擎多数被阉割,导致很多语音程序无法进行语音朗读。从Microsoft Speech SDK 5.1中提取打包而成。安装此程序即可修复。
WindCoder
2018/09/20
5.2K0
使用云服务器遇到问题,怎么办?
推荐阅读 新闻|首批!腾讯云高性能计算平台通过最高级评测
腾讯云计算产品团队
2021/08/05
3.2K0
在Cygwin中出现JAVA_HOME出现问题找不到出现问题
JAVA_HOME出现问题后查看这里面是否出现空格,在UNIX下空格无法解析,
用户5166556
2019/04/16
8570
source路径等问题 idea中配置使用mybatis出现问题BuilderException (XML文件路径问题)
http://blog.csdn.net/witsmakemen/article/details/46913425
bear_fish
2018/09/19
2.7K0
source路径等问题  idea中配置使用mybatis出现问题BuilderException (XML文件路径问题)
TTS API部署指南:打造个性化语音合成服务
5.1为了方便快捷,这里我使用宝塔面板进行快速部署操作!进入腾讯云轻量应用服务器购买轻量应用服务器,选择宝塔面板。当然你可以选择centos7.6进行自己安装。
快乐的小白
2024/02/29
4.1K0
TTS API部署指南:打造个性化语音合成服务
请问#f00是什么颜色?
这道题,对于知道的人来说简直就是送分题,这还用问吗?不就是红色吗?而对于不知道或者没有用心的人来说,却无从入手,怎么回答的都有。
姬小光
2018/09/05
9.8K0
请问#f00是什么颜色?
使用IdentityServer出现过SameSite Cookie这个问题吗?
首先,好消息:Google 将在 2020 年 2 月发布 Chrome 80时,包括 Google 实施的“渐进式更好的 Cookie”(Incrementally better Cookies),这将使网络成为一个更安全的地方,并有助于确保用户获得更好的隐私(站长注:现在是2022年4月28号,Chrome已经发布了多个更新版本)。
沙漠尽头的狼
2022/06/10
1.6K0
docker使用redis过程出现的问题记录
第一次使用docker搭建成功了单机版redis,但在使用过程中,还是遇到了不少问题,故而先把这些问题记录下来,以防后面再出现会忘记。
朱季谦
2021/11/09
6150
docker使用redis过程出现的问题记录
点击加载更多

相似问题

使用API示例试用TTS云服务,出现CERTIFICATE_VERIFY_FAILED问题,请问是什么问题?

051

请问云服务器不能试用吗?

2478

请问是腾讯云的dns服务器问题吗?

28.1K

android 使用点播+云通信服务出现包重复问题?

1229

请问腾讯云在教育网络是否有问题?

3810
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档