मैं आने वाली कॉल को चुप करने और ब्लैकबेरी डिवाइस को बजने से रोकने की कोशिश कर रहा हूं। मैंने Alert.setVolume (0) और कुछ EventInjector कुंजी की कोशिश की लेकिन यह काम नहीं किया।आने वाली कॉल को शांत करने के लिए
तो आने वाली कॉल को चुप कैसे करें?
मैं आने वाली कॉल को चुप करने और ब्लैकबेरी डिवाइस को बजने से रोकने की कोशिश कर रहा हूं। मैंने Alert.setVolume (0) और कुछ EventInjector कुंजी की कोशिश की लेकिन यह काम नहीं किया।आने वाली कॉल को शांत करने के लिए
तो आने वाली कॉल को चुप कैसे करें?
आप won't be able to ध्वनि प्रोग्रामेटिक रूप से अक्षम (कुछ अन्य स्रोतों को मिला जो एक ही बात कहता है)। फोन की ध्वनि प्रोफ़ाइल को चुप करने के लिए EventInjector
का उपयोग करने के लिए लोगों के साथ सबसे अच्छा कामकाज आया था।
मैं आपके प्रश्न से परेशान था और चुनौती लेने का फैसला किया। मैं UiApplication.getUiApplication().getActiveScreen()
आखिरकार, वॉल्यूम यूपी कुंजी इंजेक्शन (वॉल्यूम डाउन कुंजी भी काम करता है) घटना ने मेरे लिए काम किया और इनकमिंग कॉल पर डिवाइस बजाना बंद कर दिया। इस दृष्टिकोण के साथ दोष यह है कि कभी-कभी डिवाइस म्यूटिंग से पहले दूसरे के अंश के लिए रिंग करता था।
import net.rim.blackberry.api.phone.AbstractPhoneListener;
import net.rim.blackberry.api.phone.Phone;
import net.rim.device.api.system.Application;
import net.rim.device.api.system.EventInjector;
import net.rim.device.api.ui.Keypad;
class Muter extends AbstractPhoneListener {
public void callIncoming(int callId) {
Thread muterThread = new Thread(new Runnable() {
public void run() {
EventInjector.invokeEvent(new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN, (char) Keypad.KEY_VOLUME_UP, 0));
EventInjector.invokeEvent(new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_UP, (char) Keypad.KEY_VOLUME_UP, 0));
}
});
muterThread.setPriority(Thread.MAX_PRIORITY);
muterThread.start();
}
}
public class MuterApp extends Application {
public static void main(String[] args){
Phone.addPhoneListener(new Muter());
new MyApp().enterEventDispatcher();
}
}
निम्नलिखित भी काम करता है (निम्न कोड के साथ callIncoming()
विधि में Muter
धागा बदलें)।
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
EventInjector.invokeEvent(new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN, (char) Keypad.KEY_VOLUME_UP, 0));
EventInjector.invokeEvent(new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_UP, (char) Keypad.KEY_VOLUME_UP, 0));
}
});
आपके उत्तर के लिए धन्यवाद। लेकिन मैं कुछ सेकंड के बाद कॉल प्राप्त करते समय रिंगर बंद होना चाहता हूं। क्या आपके पास इसके बारे में कोई सुराग है? –
@ फ़रीदफारहाट इस समय नहीं। बीटीडब्ल्यू, यह कुछ सेकंड नहीं है लेकिन शायद कुछ मामलों में आधा सेकेंड कम है। दूसरों में, रिंगर तुरंत म्यूट कर दिया जाता है। – mrvincenzo
कुछ ब्लैकबेरी फोनों में एक म्यूट कुंजी है। आप नीचे दिए गए विचार कोशिश कर सकते हैं:
public void callIncoming(int callId) {
if (KeyPad.hasMuteKey()) {
/* Inject KEY_SPEAKERPHONE event */
}
else {
/* Inject KEY_VOLUME_DOWN event N times, so that you get the mute effect */
}
}
मैं काफी यह सब करने के लिए नया हूँ ... लेकिन मैं मैं के रूप में अच्छी तरह से लायक मेरी 2 सेंट में डाल सकता है सोचा ...
मैं खोजने की कोशिश की है प्रोफ़ाइल सेटिंग्स को प्रोग्रामिक रूप से बदलने के तरीके ...
मुझे पता चला है कि, जबकि हम प्रोफ़ाइल सेटिंग्स को बदल नहीं सकते हैं, हम उस सेटिंग को बदल सकते हैं जिसका उपयोग हम कर रहे हैं (उपयोग में आने वाली प्रोफ़ाइल को बदलें, मुझे लगता है) - यह कुछ है जो मैं जानकारी के लिए खोज में आया था-हालांकि मुझे कोड के लिए alishaik786 को क्रेडिट देना चाहिए।
public final class LoadingScreen extends MainScreen implements FieldChangeListener
{
public LoadingScreen()
{
createGUI();
}
private void createGUI()
{
try
{
ApplicationManager.getApplicationManager().launch("net_rim_bb_profiles_app");
}
catch (Exception e)
{
//Exception
}
}
public void fieldChanged(Field field, int context)
{
}
}
ठीक है, मुझे पता है। लेकिन फोन की ध्वनि प्रोफ़ाइल को चुप करने के लिए EventInjector का उपयोग कैसे करें? मैंने संयोजनों की कोशिश की और काम नहीं किया ... कोई विचार? –
यदि आपके पास बीबी डिवाइस है, तो फोन को मूक प्रोफ़ाइल में बदलने के लिए आवश्यक महत्वपूर्ण प्रेस को समझें, फिर अपने कोड के साथ दोहराएं। – jprofitt
इसे समझ लिया ... कोशिश की .. और काम नहीं किया :) –