我正在尝试创建一个与USB闪存驱动器通信的应用程序。我希望用户提示并询问他们是否希望在收到意图“android.hardware.usb.action.USB_DEVICE_ATTACHED”后打开应用程序。
目前,我已经设置了onRecieve(),以便启动主要活动
@Override
public void onReceive(Context context, Intent intent) {
Intent startIntent = context
.getPackageManager()
.getLaunchIntentForPackage(context.getPackageName());
startIntent.setFlags(
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT |
Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
);
context.startActivity(startIntent);
}
我想首先提示用户提供权限,我希望实现的一个很好的例子是ES文件浏览器Like this
答案 0 :(得分:0)
我希望用户提示并询问他们是否希望在收到意图“android.hardware.usb.action.USB_DEVICE_ATTACHED”后打开应用程序。
您要展示的屏幕必须来自您的应用,所以事实上它已经开始,即使用户对它的看法不同。
您可以做的是在收到此广播时启动活动(您需要处于活动上下文中才能在屏幕上显示内容)。使活动的背景透明,并在顶部显示一个处理用户输入的对话框。从那里你要么开始下一个活动,要么不开始。