在Atlassian SourceTree中,如何知道哪些标签只是本地标签,哪些标签也是远程标签?
创建标签时,您可以选择"将标签推送到:...",但如何在创建标签后知道标签是否已被推送?我可以在本地看到我的所有标签,但我需要确保它们存在于远程中,以便其他开发人员可以将它们拉出来.
当没有任何异常被抛出时,使用几个try-catch块是"慢"吗?我的问题与此问题相同,但对于Javascript.
假设我有20个函数,其中包含try-catch块.另一个函数调用这20个函数中的每一个.他们都不会抛出异常.由于这个try-catch块,我的代码执行速度会慢还是执行得更差?
javascript performance exception-handling exception try-catch
我正在以这样的意图显示通知:
Intent intentOpen = new Intent(this, MainActivity.class);
intentOpen.setAction("ACTION_SHOW_BACKUP_FRAGMENT");
intentOpen.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntentOpen = PendingIntent.getActivity(this, 0, intentOpen, PendingIntent.FLAG_UPDATE_CURRENT);
notificationBuilder.setContentIntent(pendingIntentOpen);
Run Code Online (Sandbox Code Playgroud)
如您所见,该操作设置为"ACTION_SHOW_BACKUP_FRAGMENT"
,以便当用户单击通知时,我的singleTop MainActivity可以使用来获取onResume()
方法中的操作getIntent().getAction()
。
为了使它起作用,我必须onNewIntent()
像这样实现:
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切顺利,操作已收到,我可以显示备份视图。但是,如果我按下主页按钮,以便应用程序进入后台,然后通过最近的应用程序菜单再次进入该菜单,该onResume()
方法将再次被调用,但"ACTION_SHOW_BACKUP_FRAGMENT"
操作仍然存在!因此,我无法区分用户是真的单击了通知还是只是恢复应用程序。
我已经尝试使用Intent和PendingIntent标志的组合日志解决问题,但是没有任何效果。setIntent(new Intent());
在使用操作后,我也尝试致电,onResume()
但在下次我恢复该应用程序时onNewIntent()
仍然可以执行"ACTION_SHOW_BACKUP_FRAGMENT"
操作。
我该如何解决这个问题?
android android-intent android-notifications android-activity android-pendingintent
我在styles.xml 中定义了以下样式:
<style name="NotificationTitle"
parent="android:TextAppearance.Material.Notification.Title" />
Run Code Online (Sandbox Code Playgroud)
如您所见,它扩展了 Android 中定义的以下默认样式:
<style name="TextAppearance.Material.Notification.Title">
<item name="textColor">@color/notification_primary_text_color_light</item>
<item name="textSize">@dimen/notification_title_text_size</item>
</style>
Run Code Online (Sandbox Code Playgroud)
现在,回到我的styles.xml 文件,我想创建以下自定义样式,其“android:tint”属性设置为与父样式中定义的“textColor”相同的值。我试过这样的事情:
<style name="NotificationIcon" >
<item name="android:tint">@style/NotificationTitle.textColor</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但是我不能像那样引用“textColor”,它无法解析符号。那么如何从我的自定义样式中引用另一种样式中定义的另一个属性呢?如果不可能,最好的选择是什么?
在 Windows 10 中,您可以在任务栏的小图标或大图标之间进行选择。通过右键单击任务栏并转到“设置”,可通过 UI 使用该设置:
也可以通过注册表编辑器 (regedit.exe) 通过修改以下项来调整此设置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarSmallIcons
大图标的值为 0,小图标的值为 1。但与 UI 设置相反,使用此方法您需要注销并登录 Windows 用户才能更新任务栏(重新启动 explorer.exe 进程也可以,但这不是一个选项)。
我希望能够更新任务栏并以编程方式在小图标或大图标之间进行选择。是否有任何 API 或任何更新任务栏的方法,以便它无需注销即可从注册表中读取?我的具体目标是在使用小屏幕(笔记本电脑上的那个)时自动显示小图标,在使用大屏幕(我的常规大工作屏幕)时自动显示大图标。
编辑:由于提供的解决方案,现在适用于 Windows 的自适应任务栏成为现实:D
我开发了使用YouTube Data API v2的Google Chrome扩展程序.清单中的我的权限字段如下所示,因为脚本是在youtube.com下的页面中注入的,我还需要访问选项卡:
"permissions": ["tabs", "*://*.youtube.com/*"]
Run Code Online (Sandbox Code Playgroud)
这也适用于我向YouTube Data API v2发出请求,因为该请求是针对http://gdata.youtube.com/进行的,因此它是同一个域.但现在我正在迁移到YouTube Data API v3,请求必须完成http://www.googleapis.com/youtube/v3/(请注意HTTPS而不是HTTP).但令人惊讶的是,我的请求在没有添加任何新权限的情况下完美运行.
我知道,我问的是一些似乎不是问题的东西,但我个人认为我在软件中不理解的任何行为都是一个问题.为什么会这样?我不应该添加权限"*://*.googleapis.com/*"
,以便我的API的XMLHttpRequest请求工作?
我也有一些猜测:HTTP Access Control标头.我的请求会发送Origin
带有值的标头chrome-extension://myExtensionId
.API的答案还包含以下标题:
Access-Control-Allow-Origin: chrome-extension://myExtensionId
但这可能是Chrome允许我在没有清单中定义的额外权限的情况下进行跨源XMLHttpRequest的原因吗?不确定,显然在Google API,YouTube Data API v3或Chrome Extensions开发人员文档中没有记录.
xmlhttprequest google-api youtube-api cross-domain google-chrome-extension
我使用的是Visual Studio 2010,C#.NET 4.0.我有3种形式:Form1,Form2,Form3.
在Form1中,我有一个打开Form2的按钮:
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Show();
}
Run Code Online (Sandbox Code Playgroud)
在Form2中,我有一个私有的Form3变量,始终指向相同的Form3:
private Form3 f = new Form3();
Run Code Online (Sandbox Code Playgroud)
还有一个按钮可以将其作为对话框打开:
private void button1_Click(object sender, EventArgs e)
{
f.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
在Form3中我只有一个按钮来隐藏表单:
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
}
Run Code Online (Sandbox Code Playgroud)
问题是,Form2位于Form1前面,而Form3位于Form2前面,当我单击Form3的按钮隐藏它时,它不仅隐藏自身,而且将Form1发送到所有其他Windows的后面.
仅当Form1的背景中存在另一个程序(例如Windows资源管理器)的窗口时才会发生这种情况.这似乎是个bug.你怎么看?
我正在尝试以编程方式启动联系人应用程序以导入包含大量联系人的大型.vcf文件.以下代码几乎完美无缺.
String vcfMimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension("vcf");
Intent openVcfIntent = new Intent(Intent.ACTION_VIEW);
openVcfIntent.setDataAndType(Uri.fromFile(savedVCardFile), vcfMimeType);
startActivity(openVcfIntent);
Run Code Online (Sandbox Code Playgroud)
唯一的问题是Android显示应用程序选择器对话框,不仅显示联系人应用程序,还显示Dropbox(或任何其他处理vCard文件的应用程序).我想阻止此行为并使用联系人应用程序直接打开文件,以便自动启动导入.
我在StackOverflow上尝试了几件没有运气的东西,比如设置:
openVcfIntent.setComponent(new ComponentName("com.android.contacts", "com.android.contacts.DialtactsContactsEntryActivity"));
openVcfIntent.setAction("android.intent.action.MAIN");
openVcfIntent.addCategory("android.intent.category.LAUNCHER");
openVcfIntent.addCategory("android.intent.category.DEFAULT");
Run Code Online (Sandbox Code Playgroud)
关于如何处理这个问题的任何想法?
android vcf-vcard import-contacts contactscontract android-contacts
android ×3
c# ×2
.net ×1
cross-domain ×1
exception ×1
firefox ×1
forms ×1
git ×1
google-api ×1
javascript ×1
performance ×1
taskbar ×1
try-catch ×1
vcf-vcard ×1
winapi ×1
windows ×1
windows-10 ×1
winforms ×1
youtube-api ×1