android通知栏无usb设置,android – USB权限没有提示

尝试“删除”意图过滤器< action android:name =“android.hardware.usb.action.USB_DEVICE_ATTACHED”/>来自FirstActivity,如

this问题

更新

FirstActivity在每个USB_DEVICE_ATTACHED(甚至是SecondActivity正在运行)上触发,因为您设置了< action android:name =“android.hardware.usb.action.USB_DEVICE_ATTACHED”/>在AndroidManifest.xml文件中过滤它.因此,您应该在SecondActivity运行时禁用此过滤器.你可以这样做:

1)在AndroidManifest.xml中将(例如AliasFirstActivity)添加到FirstActivity并移动< action android:name =“android.hardware.usb.action.USB_DEVICE_ATTACHED”/>过滤到别名描述(您应该从FirstActivity描述中删除< action android:name =“android.hardware.usb.action.USB_DEVICE_ATTACHED”/>):

android:targetActivity=".FirstActivity"

android:name=".AliasFirstActivity"

android:label="@string/app_name">

android:resource="@xml/device_filter" />

2)将此代码添加到SecondActivity的onCreate()(或onResume())

PackageManager pm = getApplicationContext().getPackageManager();

ComponentName compName =

new ComponentName(getPackageName(),getPackageName() + ".AliasFirstActivity");

pm.setComponentEnabledSetting(

compName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);

抑制针对FirstActivity的意图过滤器USB_DEVICE_ATTACHED.你应该在SecondActivity中有类似的东西:

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_second);

triggerReceiver = new TriggerReceiver();

IntentFilter filter = new IntentFilter();

filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);

registerReceiver(triggerReceiver,filter);

PackageManager pm = getApplicationContext().getPackageManager();

ComponentName compName =

new ComponentName(getPackageName(),PackageManager.DONT_KILL_APP);

}

这应该解决你的问题.

3)如果需要,你可以恢复< action android:name =“android.hardware.usb.action.USB_DEVICE_ATTACHED”/>使用此代码过滤SecondActivity的onDestroy()(或onPause())中的FirstActivity:

PackageManager pm = getApplicationContext().getPackageManager();

ComponentName compName =

new ComponentName(getPackageName(),getPackageName() + ".AliasFirstActivity");

pm.setComponentEnabledSetting(

compName,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值