レシーバーでインテント フィルターを使用しています
<receiver android:name=".extra_java_classes.MyReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
</intent-filter>
</receiver>
BroadcastReceiver クラス
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent intent1 = new Intent("usb_detect");
context.sendBroadcast(intent1);
}
}
私の MainActivity onCreateMethod で
usdReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if (action.equals("usb_detect")) {
Toast.makeText(getApplicationContext(),"Please remove your usb",Toast.LENGTH_SHORT).show();
}
}
};
MainActivity にレシーバーを登録する -
@Override
protected void onResume() {
super.onResume();
registerReceiver(usdReceiver, new IntentFilter("usb_detect"));
}
このコード ブロードキャストは、ユーザーが USB をモバイルに接続することです。しかし、ユーザーがファイルの転送/写真の転送を無効にしていない場合にのみ、ブロードキャストレシーバーが検出するようにします。充電専用オプションの USB 接続を検出したくありません。どうすればいいですか?