AndroidはUSB抜き差し事件を検出する
17644 ワード
静的登録:
AndroidManifest.xml:
USBReceiverファイル:
AndroidManifest.xml:
xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.BluteToothBroadCast"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="21"/>
<uses-permission android:name="android.hardware.usb.host" />
<uses-permission android:name="android.hardware.usb.accessory" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity android:name="MyActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
intent-filter>
activity>
<receiver android:name=".MyStaticReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="staticBroadcast">action>
intent-filter>
receiver>
<receiver android:name=".USBReceiver">
<intent-filter android:priority="200">
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
intent-filter>
<intent-filter android:priority="200">
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
intent-filter>
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<data android:scheme="file"/>
intent-filter>
<intent-filter>
<action android:name="android.intent.action.MEDIA_EJECT"/>
<data android:scheme="file"/>
intent-filter>
receiver>
<receiver android:name=".USBReceiver2">
<intent-filter android:priority="100">
<action android:name="android.hardware.usb.action.USB_STATE"/>
intent-filter>receiver>
application>
manifest>
USBReceiverファイル:
public class USBReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action =intent.getAction();
Toast.makeText(context , "USB" , Toast.LENGTH_SHORT).show();
if(action.equals(UsbManager.ACTION_USB_DEVICE_ATTACHED))
// if(action.equals("android.hardware.usb.action.USB_DEVICE_ATTACHED"))
{
Log.i("USBReceiver"," ");
}
//"android.hardware.usb.action.USB_DEVICE_DETACHED"
else if(action.equals("android.hardware.usb.action.USB_DEVICE_DETACHED"))
//else if(action.equals(UsbManager.ACTION_USB_DEVICE_DETACHED))
{
Log.i("USBReceiver"," ");
}
}
}
USBReceiver2:
public class USBReceiver2 extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.getAction().equals("android.hardware.usb.action.USB_STATE")){
if (intent.getExtras().getBoolean("connected")){
// usb
Toast.makeText(context, "USB ", Toast.LENGTH_LONG).show();
}else{
// usb
Toast.makeText(context, "USB ", Toast.LENGTH_LONG).show();
}
}
}
}