Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <pre><code>configureProviderManager(connection); FileTransferNegotiator.setServiceEnabled(connection, true); FileTransferManager manager = new FileTransferManager(connection); OutgoingFileTransfer transfer = manager.createOutgoingFileTransfer("hariom@jabber.ccc.de/Smack"); File file = new File("/sdcard/DCIM/Camera/1385869353956.jpg"); try { Log.d("file sending",file.getAbsolutePath()+" "+file.getName()); configureProviderManager(connection); transfer.sendFile(file, "test_file"); } catch (XMPPException e) { e.printStackTrace(); } while(!transfer.isDone()) { if(transfer.getStatus().equals(Status.error)) { System.out.println("ERROR!!! " + transfer.getError()); } else if (transfer.getStatus().equals(Status.cancelled) || transfer.getStatus().equals(Status.refused)) { System.out.println("Cancelled!!! " + transfer.getError()); } try { Thread.sleep(1000L); } catch (InterruptedException e) { e.printStackTrace(); } } if(transfer.getStatus().equals(Status.refused)) System.out.println("refused " + transfer.getError()); else if( transfer.getStatus().equals(Status.error)) System.out.println(" error " + transfer.getError()); else if(transfer.getStatus().equals(Status.cancelled)) System.out.println(" cancelled " + transfer.getError()); else System.out.println("Success"); </code></pre> <p>below is code to adjust provider manager</p> <pre><code>public void configureProviderManager(XMPPConnection connection) { ProviderManager.getInstance().addIQProvider("query","http://jabber.org/protocol/bytestreams", new BytestreamsProvider()); ProviderManager.getInstance().addIQProvider("query","http://jabber.org/protocol/disco#items", new DiscoverItemsProvider()); ProviderManager.getInstance().addIQProvider("query","http://jabber.org/protocol/disco#info", new DiscoverInfoProvider()); ProviderManager.getInstance().addIQProvider("query", "http://jabber.org/protocol/bytestreams", new BytestreamsProvider()); ProviderManager.getInstance().addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider()); ProviderManager.getInstance().addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider()); ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection); if (sdm == null) sdm = new ServiceDiscoveryManager(connection); sdm.addFeature("http://jabber.org/protocol/disco#info"); sdm.addFeature("http://jabber.org/protocol/disco#item"); sdm.addFeature("jabber:iq:privacy"); ProviderManager pm = ProviderManager.getInstance(); // The order is the same as in the smack.providers file // Private Data Storage pm.addIQProvider("query","jabber:iq:private", new PrivateDataManager.PrivateDataIQProvider()); // Time try { pm.addIQProvider("query","jabber:iq:time", Class.forName("org.jivesoftware.smackx.packet.Time")); } catch (ClassNotFoundException e) { System.err.println("Can't load class for org.jivesoftware.smackx.packet.Time"); } // Roster Exchange pm.addExtensionProvider("x","jabber:x:roster", new RosterExchangeProvider()); // Message Events pm.addExtensionProvider("x","jabber:x:event", new MessageEventProvider()); // Chat State pm.addExtensionProvider("active","http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider()); pm.addExtensionProvider("composing","http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider()); pm.addExtensionProvider("paused","http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider()); pm.addExtensionProvider("inactive","http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider()); pm.addExtensionProvider("gone","http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider()); // XHTML pm.addExtensionProvider("html","http://jabber.org/protocol/xhtml-im", new XHTMLExtensionProvider()); // Group Chat Invitations pm.addExtensionProvider("x","jabber:x:conference", new GroupChatInvitation.Provider()); // Service Discovery # Items pm.addIQProvider("query","http://jabber.org/protocol/disco#items", new DiscoverItemsProvider()); // Service Discovery # Info pm.addIQProvider("query","http://jabber.org/protocol/disco#info", new DiscoverInfoProvider()); // Data Forms pm.addExtensionProvider("x","jabber:x:data", new DataFormProvider()); // MUC User pm.addExtensionProvider("x","http://jabber.org/protocol/muc#user", new MUCUserProvider()); // MUC Admin pm.addIQProvider("query","http://jabber.org/protocol/muc#admin", new MUCAdminProvider()); // MUC Owner pm.addIQProvider("query","http://jabber.org/protocol/muc#owner", new MUCOwnerProvider()); // Delayed Delivery pm.addExtensionProvider("x","jabber:x:delay", new DelayInformationProvider()); pm.addExtensionProvider("delay", "urn:xmpp:delay", new DelayInformationProvider()); // Version try { pm.addIQProvider("query","jabber:iq:version", Class.forName("org.jivesoftware.smackx.packet.Version")); } catch (ClassNotFoundException e) { System.err.println("Can't load class for org.jivesoftware.smackx.packet.Version"); } // VCard pm.addIQProvider("vCard","vcard-temp", new VCardProvider()); // Offline Message Requests pm.addIQProvider("offline","http://jabber.org/protocol/offline", new OfflineMessageRequest.Provider()); // Offline Message Indicator pm.addExtensionProvider("offline","http://jabber.org/protocol/offline", new OfflineMessageInfo.Provider()); // Last Activity pm.addIQProvider("query","jabber:iq:last", new LastActivity.Provider()); // User Search pm.addIQProvider("query","jabber:iq:search", new UserSearch.Provider()); // SharedGroupsInfo pm.addIQProvider("sharedgroup","http://www.jivesoftware.org/protocol/sharedgroup", new SharedGroupsInfo.Provider()); // JEP-33: Extended Stanza Addressing pm.addExtensionProvider("addresses","http://jabber.org/protocol/address", new MultipleAddressesProvider()); // FileTransfer pm.addIQProvider("si","http://jabber.org/protocol/si", new StreamInitiationProvider()); pm.addIQProvider("query","http://jabber.org/protocol/bytestreams", new BytestreamsProvider()); pm.addIQProvider("open","http://jabber.org/protocol/ibb", new OpenIQProvider()); pm.addIQProvider("data","http://jabber.org/protocol/ibb", new DataPacketProvider()); pm.addIQProvider("close","http://jabber.org/protocol/ibb", new CloseIQProvider()); pm.addExtensionProvider("data","http://jabber.org/protocol/ibb", new DataPacketProvider()); // Privacy pm.addIQProvider("query","jabber:iq:privacy", new PrivacyProvider()); // SHIM pm.addExtensionProvider("headers", "http://jabber.org/protocol/shim", new HeadersProvider()); pm.addExtensionProvider("header", "http://jabber.org/protocol/shim", new HeaderProvider()); // PubSub pm.addIQProvider("pubsub", "http://jabber.org/protocol/pubsub", new PubSubProvider()); pm.addExtensionProvider("create", "http://jabber.org/protocol/pubsub", new SimpleNodeProvider()); pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub", new ItemsProvider()); pm.addExtensionProvider("item", "http://jabber.org/protocol/pubsub", new ItemProvider()); pm.addExtensionProvider("subscriptions", "http://jabber.org/protocol/pubsub", new SubscriptionsProvider()); pm.addExtensionProvider("subscription", "http://jabber.org/protocol/pubsub", new SubscriptionProvider()); pm.addExtensionProvider("affiliations", "http://jabber.org/protocol/pubsub", new AffiliationsProvider()); pm.addExtensionProvider("affiliation", "http://jabber.org/protocol/pubsub", new AffiliationProvider()); pm.addExtensionProvider("options", "http://jabber.org/protocol/pubsub", new FormNodeProvider()); // PubSub owner pm.addIQProvider("pubsub", "http://jabber.org/protocol/pubsub#owner", new PubSubProvider()); pm.addExtensionProvider("configure", "http://jabber.org/protocol/pubsub#owner", new FormNodeProvider()); pm.addExtensionProvider("default", "http://jabber.org/protocol/pubsub#owner", new FormNodeProvider()); // PubSub event pm.addExtensionProvider("event", "http://jabber.org/protocol/pubsub#event", new EventProvider()); pm.addExtensionProvider("configuration", "http://jabber.org/protocol/pubsub#event", new ConfigEventProvider()); pm.addExtensionProvider("delete", "http://jabber.org/protocol/pubsub#event", new SimpleNodeProvider()); pm.addExtensionProvider("options", "http://jabber.org/protocol/pubsub#event", new FormNodeProvider()); pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub#event", new ItemsProvider()); pm.addExtensionProvider("item", "http://jabber.org/protocol/pubsub#event", new ItemProvider()); pm.addExtensionProvider("retract", "http://jabber.org/protocol/pubsub#event", new RetractEventProvider()); pm.addExtensionProvider("purge", "http://jabber.org/protocol/pubsub#event", new SimpleNodeProvider()); // Nick Exchange pm.addExtensionProvider("nick", "http://jabber.org/protocol/nick", new Nick.Provider()); // Attention pm.addExtensionProvider("attention", "urn:xmpp:attention:0", new AttentionExtension.Provider()); //input pm.addIQProvider("si", "http://jabber.org/protocol/si", new StreamInitiationProvider()); pm.addIQProvider("query", "http://jabber.org/protocol/bytestreams", new BytestreamsProvider()); pm.addIQProvider("open", "http://jabber.org/protocol/ibb", new OpenIQProvider()); pm.addIQProvider("close", "http://jabber.org/protocol/ibb", new CloseIQProvider()); pm.addExtensionProvider("data", "http://jabber.org/protocol/ibb", new DataPacketProvider()); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload