cuốn sách gpt4 ai đã làm

android - AllShare Cast/Screen Cast không hoạt động trên một số điện thoại

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 23:24:33 27 4
mua khóa gpt4 Nike

Tôi đã truy cập trang web của Samsung và tải xuống gói Media Control SDK. Khi tôi sử dụng trình phát video AllShare Cast trên Galaxy S3 Android 4.3, TV thông minh của tôi (trên cùng một mạng) sẽ xuất hiện trong danh sách AllShare Cast.

Nhưng,

Khi tôi sử dụng cùng một ứng dụng trên Galaxy Note 2 Android 4.1.1 đã root, TV thông minh của tôi (trên cùng một mạng) không xuất hiện trong danh sách AllShare Cast.

Mã số:

lớp công khai DevicePicker mở rộng triển khai Fragment OnClickListener,SmcDeviceFinder.StatusListener, SmcDeviceFinder.DeviceListener {


giao diện công cộng DevicePickerResult {

void onDeviceSelected(thiết bị SmcDevice);

/**
* Người dùng đã nhấp để tắt AllShare
*/
void onAllShareDisabled();
}

/**
* Loại thiết bị chúng tôi quan tâm
*/
int riêng tư mType = SmcDevice.TYPE_AVPLAYER;

/**
* Người nghe được thông báo về các sự kiện
*/
riêng tư DevicePickerResult mPickerListener;

/**
* Ví dụ tìm thiết bị
*/
SmcDeviceFinder riêng tư smcDeviceFinder;

/**
* ImageView hiển thị biểu tượng AllShare
*/
mIcon ImageView riêng tư;

/**
* Cờ cho biết AllShare hiện có đang hoạt động hay không
*/
mActive boolean riêng tư;

Chuỗi riêng mDeviceId;

@Ghi đè
Chế độ xem công khai trênCreateView(Trình tăng LayoutInflater, vùng chứa ViewGroup, Gói đã lưuInstanceState) {

// Đặt chế độ xem, ghi nhớ ImageView cho biểu tượng và thiết lập trình nghe onclick.
Xem v = inflater.inflate(R.layout.device_picker, container, false);
mIcon = (ImageView) v.findViewById(R.id.devicePickerIcon);
mIcon.setOnClickListener(cái này);
trả lại v;
}

@Ghi đè
khoảng trống công khai onCreate(Gói đã lưuInstanceState) {
super.onCreate(savedInstanceState);

/*
if(savedInstanceState!=null){
mDeviceId = saveInstanceState.getString("deviceId");
}
*/
}

@Ghi đè
khoảng trống công khai trênSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);

}

public void setDeviceType(int type) {
mType = loại;
}

public void setDeviceSelectedListener(Trình nghe DevicePickerResult) {
mPickerListener = người nghe;
khôi phụcThiết bị();
}

@Ghi đè
khoảng trống công khai trênActivityCreated(Gói đã lưuInstanceState) {
super.onActivityCreated(savedInstanceState);

// Nhà cung cấp dịch vụ cần được tạo sau khi loại thiết bị được đặt
// Nó cũng có thể được tạo trong onStart hoặc onResume, nhưng chúng ta càng sớm
// chúng ta tạo ra nó thì chúng ta sẽ nhận được thiết bị càng sớm.
SmcDeviceFinder df = new SmcDeviceFinder(getActivity());
df.setStatusListener(cái này);
df.start();

}


khôi phục khoảng trống riêng tưDevice(){
if(smcDeviceFinder != null && mDeviceId!=null && mPickerListener != null) {
SmcDevice SmcDevice_ = smcDeviceFinder.getDevice(mType, mDeviceId);
if(SmcDevice_!=null){
mPickerListener.onDeviceSelected(SmcDevice_);
setActive(true);
}
}
}

public void setActive(boolean newState) {
if (newState == mActive) {
// Không thay đổi trạng thái, không làm gì cả
return;
}
mActive = newState;
mIcon.setImageResource(
bang mới?
R.drawable.allshare_icons_active:
R.drawable.allshare_icons_inactive);
updateButtonCounter();
}

@Ghi đè
khoảng trống công khai trênClick(Xem v) {
if (v != mIcon) {
return;
}

if(smcDeviceFinder != null) {

int numDevices = smcDeviceFinder.getDeviceList(mType).size();

// Nếu không tìm thấy thiết bị nào, hãy thử làm mới danh sách.
if (numDevices == 0) {
smcDeviceFinder.rescan();
}

// Nếu chúng tôi đã hoạt động, hãy tắt allshare
nếu (mActive) {
setActive(sai);
if (mPickerListener != null) {
mPickerListener.onAllShareDisabled();
}
return;
}
}

// Thiết bị có sẵn và chúng tôi chưa kết nối
//Yêu cầu người dùng chọn thiết bị
showPickerDialog();
}

@Ghi đè
khoảng trống công khai trênDetach() {
if (smcDeviceFinder != null) {
smcDeviceFinder.stop();
smcDeviceFinder = null;
}
super.onDetach();
}

///////////////////////////////////////////////////////////////// //// ////////////////////////////
// Các phương thức này xử lý sự kiện ẩn bắt đầu tìm kiếm thiết bị.
///////////////////////////////////////////////////////////////// //// ////////////////////////////

@Ghi đè
public void onStarted(SmcDeviceFinder deviceFinder, int error) {
if (lỗi == Smc.THÀNH CÔNG) {
smcDeviceFinder = deviceFinder;
smcDeviceFinder.setDeviceListener(mType, this);
smcDeviceFinder.rescan();
updateButtonCounter();
khôi phụcThiết bị();
}
}

@Ghi đè
khoảng trống công khai onStopped(SmcDeviceFinder deviceFinder) {
if (smcDeviceFinder == deviceFinder) {
smcDeviceFinder.setDeviceListener(mType, null);
smcDeviceFinder.setStatusListener(null);
smcDeviceFinder = null;
}
}

///////////////////////////////////////////////////////////////// //// ////////////////////////////
// Các phương thức này xử lý các thiết bị xuất hiện và biến mất trong mạng.
///////////////////////////////////////////////////////////////// //// ////////////////////////////

@Ghi đè
public void onDeviceAdded(SmcDeviceFinder deviceFinder, SmcDevice smcDevice) {
// Chúng tôi không quan tâm đến từng thiết bị, chỉ quan tâm đến số lượng của chúng
updateButtonCounter();
}

@Ghi đè
public void onDeviceRemoved(SmcDeviceFinder deviceFinder, SmcDevice smcDevice, int error) {
// Chúng tôi không quan tâm đến từng thiết bị, chỉ quan tâm đến số lượng của chúng
updateButtonCounter();
// nếu thiết bị hiện tại đã bị xóa
if (smcDevice.getId().equals(mDeviceId)) {
setActive(sai);
if (mPickerListener != null) {
mPickerListener.onAllShareDisabled();
}
}
}



/**
* Phương pháp chọn biểu tượng nào sẽ hiển thị, dựa trên số lượng
* các thiết bị có sẵn trong mạng.
*/
cập nhật void riêng tưButtonCounter() {
if (smcDeviceFinder != null) {
int numDevices =
smcDeviceFinder.getDeviceList(mType).size();

mIcon.getDrawable().setLevel(numDevices);
if (numDevices==0) ​​​​{
setActive(sai);
}
}
}

khoảng trống công khai showPickerDialog() {
Ý định ý định = Ý định mới(getActivity(), DeviceSelectActivity.class);
ý định.putExtra("deviceType", mType);
startActivityForResult(ý định, 0);
}

/**
* Gọi lại khi người dùng đã chọn thiết bị trong hoạt động chọn thiết bị.
*/
@Ghi đè
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Hoạt động.RESULT_OK) {
mDeviceId = data.getStringExtra("deviceId");
int type = data.getIntExtra("deviceType", -1);

if (smcDeviceFinder != null && mPickerListener != null) {
Thiết bị SmcDevice = smcDeviceFinder.getDevice(type, mDeviceId);
if(thiết bị!=null){
mPickerListener.onDeviceSelected(thiết bị);
setActive(true);
}
}
}
}
}

wifi đang bật.

Có ai có thể giúp tôi được không?

Một số ứng dụng thậm chí có thể nhìn thấy thiết bị Apple TV của tôi (ứng dụng của tôi thậm chí không thể nhìn thấy thiết bị Apple TV này trong danh sách AllShare Cast)

Cảm ơn bạn rất nhiều.

câu trả lời hay nhất

Nếu tôi nhớ không lầm thì chuyển đổi AllShare được xây dựng trên Miracast. Tính năng này được bao gồm trong Android 4.2 dành cho các thiết bị có hỗ trợ phần cứng cần thiết, điều này có thể giải thích tại sao Note 2 chạy 4.1.1 lại gặp sự cố.

Về android - AllShare Cast/Screen Cast không hoạt động trên một số điện thoại, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/31644592/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress