小编Edu*_*rdo的帖子

标识用户的令牌

我正在开发一个Android应用程序,我希望该应用程序的某些功能不是免费的.

我曾考虑过使用应用内Billing Version 3 API,因此我在开发者控制台中定义了"应用内商品".

阅读文档后,我知道当我开始购买流程时,我应该传入一个字符串令牌,帮助应用程序唯一地识别进行购买的用户.

但是我如何获得识别用户的字符串标记?

谢谢

android billing in-app-purchase in-app-billing android-billing

13
推荐指数
1
解决办法
1万
查看次数

android.Settings.Secure.ANDROID_ID

我正在开发一个Android应用程序,我将使用LVL库来检查谷歌播放许可证.

阅读LVL文档后,我已经读过我必须获取android.Settings.Secure.ANDROID_ID来混淆google play响应.

但我还读到,从TelephonyManager获得的ANDROID_ID有时对于不同的设备是相同的.

首先,它在2.2之前的Android版本("Froyo")上并非100%可靠.此外,在主要制造商的流行手机中至少有一个被广泛观察到的错误,其中每个实例都具有相同的ANDROID_ID

真的吗?

谢谢

android telephonymanager android-identifiers

10
推荐指数
1
解决办法
2万
查看次数

未调用onActivityResult方法

我在Android应用程序中遇到问题.我不知道为什么在按下操作栏的"向上导航"按钮时没有调用'onActivityResult'方法.我想我已经做好了一切:

  • 父活动使用'startActivityForResult'方法启动子活动.

    Intent intent = new Intent(ParentActivity.this, ChildActivity.class);
    startActivityForResult(intent, 1000);
    
    Run Code Online (Sandbox Code Playgroud)

  • 父活动已覆盖'onActivityResult'方法.

    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
       super.onActivityResult(requestCode, resultCode, data);   
       if (data != null && requestCode == 1000)
       {
            Bundle extras = data.getExtras();
            Boolean rc = extras.getBoolean(MyConstants.INTENT_EXTRA_RESULT);
            if (rc)
            {
                .......
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

  • 子活动已覆盖'onOptionsItemSelected'并调用'NavUtils.navigateUpFromSameTask'.

    public boolean onOptionsItemSelected(MenuItem item)
      {
        if (item.getItemId() == android.R.id.home)
        {
            Intent result = new Intent((String)null);
            result.putExtra(MyConstants.INTENT_EXTRA_RESULT, true);
            setResult(RESULT_OK, result);
            NavUtils.navigateUpFromSameTask(this);          
            return true;
        }           
        else
        {
            return super.onOptionsItemSelected(item);
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

  • 子活动已覆盖'完成'方法.此方法设置结果.

    public void …
    Run Code Online (Sandbox Code Playgroud)
  • android onactivityresult

    7
    推荐指数
    1
    解决办法
    3389
    查看次数

    Google Play Android Developer API

    我正在开发一个Android应用程序,它将出售应用程序内的产品.

    在关于"Google Play应用内结算"的Google文档中,有一个名为Purchase Status API的部分.阅读本节后,我所了解的是购买验证应该在我的后端服务器中使用Google Play Android Developer API v1.1完成.

    我试图了解Google Play Android Developer API文档,但我不明白为获取授权令牌我必须做些什么.

    请帮我!

    谢谢

    android in-app-billing google-play

    6
    推荐指数
    1
    解决办法
    4565
    查看次数

    将主题应用于DialogPreference的对话框

    我想从DialogPreference中出现的对话框将具有我在style.xml中定义的主题.

    我怎么能这样做?

    提前致谢!

    android dialog

    5
    推荐指数
    0
    解决办法
    152
    查看次数

    从签名的 pdf 中获取原始内容

    我想知道如何使用 iText java 库或其他库从签名的 pdf 文档中获取原始内容。

    谢谢

    更新1:

    可能的例子:

    PdfReader reader = new PdfReader(PATH_TO_PDF);
    AcroFields fields = reader.getAcroFields();
    ArrayList<String> signatures = fields.getSignatureNames();
    for (String signature : signatures)
    {
        // Start revision extraction
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte bb[] = new byte[8192];
        InputStream ip = fields.extractRevision(signature);
        int n = 0;
        while ((n = ip.read(bb)) > 0)
            out.write(bb, 0, n);
        out.close();
        ip.close();
        MessageDigest md = MessageDigest.getInstance("SHA1");
        byte[] resum = md.digest(out.toByteArray());
        // End revision extraction        
    }
    
    Run Code Online (Sandbox Code Playgroud)

    注1:在本例中,当有多个标志时,所有标志都实现了。

    注2:但hash不等于原始hash文档(未签名的文档)

    java signed itext

    3
    推荐指数
    1
    解决办法
    3888
    查看次数

    在模拟器中实现应用内结算

    我一直在阅读有关为android应用程序“实施应用程序内结算”的信息,文档中说这不可能在模拟器中测试该应用程序。真的吗?

    我没有与正在开发的移动设备建立“移动数据计划”,因此我尝试通过USB通过PC连接移动设备,但是由于我的PC位于代理之后,因此无法连接到Internet。

    我能做什么?

    提前致谢

    proxy android billing emulation in-app

    2
    推荐指数
    2
    解决办法
    1858
    查看次数

    将样式更改为android.support.v7.widget.PopupMenu

    我正在尝试将背景更改为"android.support.v7.widget.PopupMenu".

    我想我已经完成了我在互联网上发现的改变背景的一切.

    RES /值/ styles.xml

    <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
      <item name="popupMenuStyle">@style/MyPopupMenu</item>
    </style>
    
    <style name="MyPopupMenu" parent="@style/Widget.AppCompat.Light.PopupMenu">
        <item name="android:popupBackground">#888888</item> 
    </style>
    
    Run Code Online (Sandbox Code Playgroud)

    RES /值-V14/styles.xml

    <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:popupMenuStyle">@style/MyPopupMenu</item>
    </style>
    <style name="MyPopupMenu" parent="@style/Widget.AppCompat.Light.PopupMenu">
        <item name="android:popupBackground">#888888</item> 
    </style>
    
    Run Code Online (Sandbox Code Playgroud)

    当然我在显示弹出窗口的活动中设置了"CustomActionBarTheme".

    我究竟做错了什么?

    android styles popupmenu

    2
    推荐指数
    1
    解决办法
    2668
    查看次数

    原生 sql 查询 - SQL 注入攻击

    我正在与 JPA 合作。如果我使用本机 sql 查询(而不是实体查询),我的应用程序怎么可能是 SQL 注入安全的?我需要使用用户从 html 表单提交的数据构建本机 sql 查询。

    如果我在本机 sql 中使用参数,我可以避免 SQL 注入攻击,但我的问题是我无法确定用户提交了多少数据字段。

    java security jpa

    2
    推荐指数
    1
    解决办法
    3353
    查看次数

    使用Adobe Reader在Android中打开PDF

    可能重复:
    在Android中打开PDF

    我想从我的Android应用程序用Adobe Reader打开一个PDF文件.

    我在/ mnt/sdcard中有一个名为test.pdf的PDF文件,我正在使用下一个代码:

    file = new File ("/mnt/sdcard/test.pdf");
    
    if (file.exists())
    {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file));
        intent.setType("application/pdf");
        intent.setPackage("com.adobe.reader");          
        startActivity(intent);              
    }
    
    Run Code Online (Sandbox Code Playgroud)

    执行此代码时会打开Adobe Reader,但不会打开该文件.该文件有效.

    问题是什么?

    pdf file-io android

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