1

通知を送信するためにJavaPNSを使用しています。ただし、次のエラーが発生します。

javapns.devices.exceptions.InvalidDeviceTokenFormatException: Device Token has a length of [140] and not the required 64 bytes!eror has occusred:Device Token has a length of [140] and not the required 64 bytes!

        at javapns.devices.implementations.basic.BasicDevice.validateTokenFormat(BasicDevice.java:67)
        at javapns.devices.implementations.basic.BasicDevice.<init>(BasicDevice.java:49)
        at javapns.devices.implementations.basic.BasicDevice.<init>(BasicDevice.java:37)

これが私のデバイスリストの作成方法です。

List<Device> newList = new ArrayList<Device>();
            Iterator<String> tempItr = v.iterator();
            while (tempItr.hasNext()) {
                String myDeviceToken = (String) (vItr.next());
                try {
                    BasicDevice device = new BasicDevice(myDeviceToken);

                    newList.add(device);

                } catch (Exception e) { // error=2; // notification issue
                    System.out.println("eror has occusred:" + e.getMessage());
                    e.printStackTrace();

                }
            }

無効なトークン形式を与える理由の手がかり:

4

1 に答える 1

1

これは間違っています :

String myDeviceToken = (String) (vItr.next());

そのはず :

String myDeviceToken = vItr.next().getToken();

編集:私はvがであると仮定していましたがList<Device>、vのタイプを指定しませんでした。

于 2013-01-29T16:46:40.317 に答える