当我通过 j2me 应用程序发送短信时,在发送消息之前出现问题,我是否可以使用互联网发送消息。是否可以退出这个问题不出现?
3 回答
这是因为您正在访问 HTTP 和 SMS API。要使用此类 API,您需要签署您的 Java ME 应用程序。要签署 Java ME 应用程序,您需要通过支付费用从 VeriSign 或 Thawte 站点购买签名证书。
请访问此链接
对于 VeriSign 的证书,每个证书的费用为 20K。
我认为您可以跳过提示,但您的应用程序必须签名。但是,即使您的应用程序已签名,在某些设备上,提示仍然会出现一次。这通常(或总是)在会话首次使用无线消息 API 时发生。发生这种情况是因为对该 API 的访问设置为“第一次询问”之类的内容。
如果您的应用程序已签名,您可以手动将无线网络设置的访问权限设置为(类似于)“始终允许”。如果设置为(类似),则不会出现提示。
对于未签名的应用程序,“始终允许”选项不可用。但是,在大多数设备上,下一个最佳选项可用:“第一次询问”。
好吧,不好的是,您将手动设置它。然而,好消息是您不会为了将其设置为“第一次询问”而花费这么多钱。:D
平台设计的 J2ME 有一些缺点,即要求应用程序的用户选择是或否来尝试使用任何安全 API。一些设备以这样的方式发出警报,使最终用户考虑是否应该继续或停止它。通过对应用程序进行数字签名,可以根据设备 KVM 实施和使用的安全 API 的数量将警报减少到水平。
在某些具有 Symbian OS Feature Pack 1 的设备中,即使代码已签名,提示也会继续。J2ME 的这种行为使应用程序对开发人员和用户不太友好。我认为这是SUN采用的错误策略和模式。有一些东西叫做 Java 验证,您可以在其中使用证书对您的应用程序进行签名,这将使应用程序无缝运行,并且在最终用户设备中没有提示,但不幸的是,获得该认证的过程既昂贵又不实用。J2ME 平台的唯一优势是它允许在最终用户设备上执行病毒或恶意软件代码的可能性较小。我认为安全性和用户易用性之间的权衡并不好,这就是我们在 J2ME 中看不到非常好的应用程序的原因。
相比之下,例如,Android 允许用户在安装应用程序之前查看所有权限,并且当使用这些安全 API 时,用户不会在运行时受到打扰。这就是我们在 J2ME 中看到数以百万计的应用程序而不是在 J2ME 中的原因。我们总是可以说这种方法在最终的 android 用户设备中导致了许多恶意软件类型的应用程序,但事实就是如此,人们需要运行流畅的应用程序并对其感到满意。