0

レシーバーでインテント フィルターを使用しています

 <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 接続を検出したくありません。どうすればいいですか?

4

0 に答える 0