2011-09-04 36 views
5

Tôi đã tạo ứng dụng Android mà tôi muốn tự động mở khi mục USB chạy Android được kết nối với PC.Đăng ký ứng dụng để khởi chạy khi mục USB được kết nối với PC

Có thể đăng ký ứng dụng của tôi để xử lý kết nối USB không? Làm thế nào để làm điều đó?

+1

xem câu trả lời cho câu hỏi này: http://stackoverflow.com/questions/4600896/android-detecting-usb – Mark

+0

dấu hey, liên kết ur chỉ dành cho nhắn tin rằng usb được kết nối hoặc ngắt kết nối nhưng tôi muốn mở ứng dụng của mình sau khi kết nối – Angel

+0

trả lời tin nhắn bằng cách khởi chạy hoạt động của bạn ... – Mark

Trả lời

0

Bạn có thể mở bất kỳ ứng dụng nào từ điện thoại di động ngay cả khi nó được kết nối với PC qua USB.

Truy cập liên kết dưới đây để biết cách phát hiện kết nối USB hoặc tháo rời và Đăng ký thiết bị thu phát sóng giống nhau và khởi chạy ứng dụng của bạn từ Người nhận bằng mục đích phù hợp.

http://developer.android.com/guide/topics/usb/accessory.html

+1

Tôi nghĩ anh ấy có nghĩa là * tự động * (ví dụ, ứng dụng đang mở * được kích hoạt * bằng cách kết nối cáp) – aioobe

+0

Anh ấy yêu cầu ứng dụng tự động mở. – Mark

+0

yaa U r right.its nghĩa là ứng dụng của tôi trực tiếp mở khi được kết nối với cáp – Angel

4

Bạn có thể nghe cho Intent.ACTION_UMS_CONNECTED (chế độ mass storage usb bắt đầu) hoặc Intent.ACTION_POWER_CONNECTED(điện thoại đang sạc bây giờ) chương trình phát sóng với một BroadcastReceiver.

Lưu ý rằng cả hai không chính xác cho bạn biết rằng bạn đang kết nối với máy tính. Việc phát sóng phí có thể được kích hoạt tốt khi bộ sạc bình thường được kết nối. Việc phát sóng USB là một chỉ báo tốt mà bạn có một cái gì đó giống như một máy tính ở đầu kia của dây, nhưng nó không đảm bảo. Người dùng cũng có thể chỉ cần kết nối điện thoại với máy tính mà không cần vào chế độ lưu trữ khối.

Theo như tôi biết không có ý định cho bạn biết chắc chắn rằng bạn đang kết nối với một máy tính (Tôi có thể thấy rằng thật khó để phát hiện mà không có một ứng dụng trên pc). Bạn có thể muốn đọc số intent class documentation và xem liệu bạn có thể tìm thấy chương trình phát mà tôi chưa xem hay không.

+0

ya Tôi đã sử dụng mã này Trước đây nhưng nó chỉ được phát hiện kết nối USB .. nhưng làm thế nào tôi có thể thấy ứng dụng của tôi. – Angel

+0

Khởi chạy 'Intent' từ phương thức' onReceive '()' BroadcastReceivers'. –

4

Trong manifest.xml của bạn, thêm này:

<receiver android:name=".BattStatusShow"> 
    <intent-filter> 
     <action android:name="android.intent.action.ums_connected" /> 
    </intent-filter> 
</receiver> 

Sau đó, có lớp học tình trạng pin của bạn kéo dài BroadcastReceiver, kể từ khi đăng ký nó cho thông điệp USB trong file Manifest của bạn.

public class BattStatusShow extends BroadcastReceiver{ 
    if (intent.getAction().equalsIgnoreCase("android.intent.action.UMS_CONNECTED")) { 
    //do stuff here, like signal the view of your app it needs to do something 
    } 
} 

Bạn không đưa ra nhiều thông tin về những gì ứng dụng của bạn, nhưng nếu nó chỉ là một ứng dụng hiển thị pin, lập trình một ứng dụng máy chủ máy tính để nói chuyện với ứng dụng Android của bạn có vẻ quá mức cần thiết. Nếu bạn muốn làm nhiều hơn, hãy xem cách ứng dụng trạm Nokia PC tương tác với Nokia và mô phỏng hành vi như thế nào.

+0

nhưng điều này sẽ cho thấy measweage thôi. Làm thế nào tôi có thể nhìn thấy tomcat hoạt hình này nói rằng "tình trạng pin của bạn là ..%" Ứng dụng âm thanh của nó. – Angel

+0

Bạn cần phải thay thế dòng "làm công cụ ở đây" bằng một dòng kích hoạt Intent cho Hoạt động chính của ứng dụng của bạn. – Kheldar

Các vấn đề liên quan