连接/断开 USB BroadcastReceiver 时隐藏/取消隐藏应用程序
Hide / Unhide application when connect / disconnect USB BroadcastReceiver
我的应用程序只有 MainActivity
和 ImageView
。
BroadcastReceiver
有效。当我连接 USB 时显示 Toast 消息。
现在,我需要最小化我的应用程序并仅显示已连接 USB 电缆的应用程序。
BroadcastReceiver broadcast_reciever = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if (action.equals("usb_detect")) {
Toast.makeText(arg0,"Atenção!",Toast.LENGTH_SHORT).show();
finish();
startActivity(getIntent());
//startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER));
}
}
};
清单在这里:https://i.stack.imgur.com/sa3Pe.jpg
要将您的应用程序置于前台,请将以下内容添加到 onReceive()
:
Intent launchIntent = getPackageManager().
getLaunchIntentForPackage("your.package.name");
startActivity(launchIntent);
这不会启动新的 Activity
,它只会将包含您的应用程序的现有任务置于前台,无论它在移至后台时处于何种状态。
此外,从您的 BroadcastReceiver
中删除对 finish()
的调用。 finish()
仅用于 Activity
。
我的应用程序只有 MainActivity
和 ImageView
。
BroadcastReceiver
有效。当我连接 USB 时显示 Toast 消息。
现在,我需要最小化我的应用程序并仅显示已连接 USB 电缆的应用程序。
BroadcastReceiver broadcast_reciever = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if (action.equals("usb_detect")) {
Toast.makeText(arg0,"Atenção!",Toast.LENGTH_SHORT).show();
finish();
startActivity(getIntent());
//startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER));
}
}
};
清单在这里:https://i.stack.imgur.com/sa3Pe.jpg
要将您的应用程序置于前台,请将以下内容添加到 onReceive()
:
Intent launchIntent = getPackageManager().
getLaunchIntentForPackage("your.package.name");
startActivity(launchIntent);
这不会启动新的 Activity
,它只会将包含您的应用程序的现有任务置于前台,无论它在移至后台时处于何种状态。
此外,从您的 BroadcastReceiver
中删除对 finish()
的调用。 finish()
仅用于 Activity
。