Tôi đang cố tắt tiếng cuộc gọi đến và ngăn điện thoại BlackBerry đổ chuông. Tôi đã thử Alert.setVolume (0) và một số phím EventInjector nhưng điều này không hoạt động.Cách tắt tiếng cuộc gọi đến
Vậy làm cách nào để tắt tiếng cuộc gọi đến?
Tôi đang cố tắt tiếng cuộc gọi đến và ngăn điện thoại BlackBerry đổ chuông. Tôi đã thử Alert.setVolume (0) và một số phím EventInjector nhưng điều này không hoạt động.Cách tắt tiếng cuộc gọi đến
Vậy làm cách nào để tắt tiếng cuộc gọi đến?
Bạn won't be able to tắt âm thanh theo chương trình (tìm thấy một vài nguồn khác có cùng nội dung). Cách giải quyết tốt nhất mà mọi người dường như đã đưa ra là sử dụng EventInjector
để thay đổi cấu hình âm thanh của điện thoại thành im lặng.
Tôi đã bối rối trước câu hỏi của bạn và quyết định tham gia thử thách. Tôi cố gắng điều khác nhau bao gồm
UiApplication.getUiApplication().getActiveScreen()
Cuối cùng, bơm phím VOLUME UP (VOLUME DOWN hoạt động tốt) sự kiện đã làm việc cho tôi và tắt chuông thiết bị khi có cuộc gọi đến. Nhược điểm của phương pháp này là đôi khi thiết bị đã đổ chuông trong một phần giây trước khi tắt tiếng.
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();
}
}
Sau đây cũng làm việc (thay thế Muter
thread callIncoming()
phương pháp với đoạn mã sau).
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));
}
});
Cảm ơn bạn đã trả lời. Nhưng tôi muốn chuông tắt khi nhận cuộc gọi không sau vài giây. Bạn có bất kỳ đầu mối về nó? –
@FaridFarhat Không phải lúc này. BTW, nó không phải là một vài giây nhưng có lẽ ít hơn nửa giây trong một số trường hợp. Ở những người khác, chuông được tắt ngay lập tức. – mrvincenzo
Một số điện thoại Blackberry có khóa tắt tiếng. Bạn có thể thử các ý tưởng sau đây:
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 */
}
}
tôi khá mới để tất cả điều này ... nhưng tôi nghĩ rằng tôi cũng có thể đưa vào 2 của tôi cent giá trị ...
tôi đã cố gắng tìm các cách để thay đổi theo lập trình cài đặt cấu hình ...
tôi thấy rằng, mặc dù chúng tôi không thể thay đổi cài đặt hồ sơ, chúng tôi có thể thay đổi cài đặt mà chúng tôi đang sử dụng (thay đổi cấu hình đang sử dụng) - đây là một cái gì đó tôi đi qua tìm kiếm thông tin mặc dù tôi nên cung cấp tín dụng cho alishaik786 cho mã.
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)
{
}
}
Ok tôi biết điều đó. Nhưng làm thế nào để sử dụng EventInjector để thay đổi cấu hình âm thanh của điện thoại thành im lặng? Tôi đã thử vài kết hợp và không làm việc ... bất kỳ ý tưởng nào? –
Nếu bạn có thiết bị BB, chỉ cần tìm ra các phím nhấn cần thiết để thay đổi điện thoại sang cấu hình im lặng rồi sao chép mã đó bằng mã của bạn. – jprofitt
Đã tìm ra ... đã thử .. và không hoạt động :) –