小编Mic*_*l A的帖子

仅在其当前未运行时启动应用

我向用户发送推送通知,点击它时会打开应用程序.

我的问题是,当应用程序已经打开时,单击通知会再次启动应用程序.

我只希望它启动应用程序,如果它还没有运行.

我在通知中使用Pending Intent:

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, Splash.class), 0);
Run Code Online (Sandbox Code Playgroud)

我看到帖子说使用:

<activity 
android:name=".Splash"
android:launchMode="singleTask"
Run Code Online (Sandbox Code Playgroud)

但问题是我正在运行的应用程序正在运行其他活动,然后启动应用程序启动后7秒内完成,因此当应用程序运行时,Splash不是当前活动

notifications android push-notification android-pendingintent

29
推荐指数
1
解决办法
1万
查看次数

在Android 5.0.2上不调用自定义视图构造函数

我创建了一个自定义视图:

public class SomeView extends View
Run Code Online (Sandbox Code Playgroud)

自定义视图构造函数:

public SomeView (Context context)
{
    super(context);
}
// Called when view is inflated from xml
public SomeView (Context context, AttributeSet attrs)
{
    super(context, attrs);
}
// Perform inflation from XML and apply a class-specific base style from a theme attribute.
public SomeView (Context context, AttributeSet attrs, int defStyle)
{
    super(context, attrs, defStyle);
}
Run Code Online (Sandbox Code Playgroud)

我也尝试了api 21中的第4个构造函数而没有运气:

public VeediView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
{
    super(context, attrs,defStyleAttr, defStyleRes);
}
Run Code Online (Sandbox Code Playgroud)

在xml布局中,我定义了这个视图,并且工作正常.

在Galaxy S2上进行测试工作正常并调用视图构造函数,但是当在Nexus-7 android …

android android-custom-view

22
推荐指数
3
解决办法
1970
查看次数

我的应用图标显示为小于其他图标

我用android资产工作室创建了Launcher图标:

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/icons-launcher.html#foreground.space.trim=1&foreground.space.pad=0&foreColor=33b5e5%2C0&crop=0&backgroundShape=bevel&backColor= FFFFFF%2C100

工作室以适当的像素大小生成图像:48*48(mdpi)72*72(hdpi)等等.

但在我的三星Galaxy s2上,应用程序图标看起来比其他应用程序小,而不是填满整个空间.

这是什么?我怎样才能将它拉伸到最大程度?

android android-icons

19
推荐指数
3
解决办法
6140
查看次数

将swift框架导入Objective-c项目

我将swift框架导入Objective-c项目,如下所示:

@import MyFramework;
Run Code Online (Sandbox Code Playgroud)

问题是只有一些类被我导入框架的类识别.

被认可的班级:

public class RecognizedClass:UIViewController, WKNavigationDelegate, WKScriptMessageHandle 
 { ... } 
Run Code Online (Sandbox Code Playgroud)

这个课不是:

public class VeediUtils
{ ... } 
Run Code Online (Sandbox Code Playgroud)

它们都是公共的,为什么第一个在工作区被识别而另一个没有?

另外我在头文件MyFramework-Swift.h中看到一个类

@interface RecognizedClass : UIViewController <WKNavigationDelegate, WKScriptMessageHandler>
Run Code Online (Sandbox Code Playgroud)

出现而另一个不

这是为什么?

还指出,当我将swift框架导入swift项目时,同样的过程也能正常工作

objective-c ios ios-frameworks swift

19
推荐指数
2
解决办法
3万
查看次数

计算JMS队列中的消息数

查看JMS队列并获取其中的所有消息的最佳方法是什么?

如何计算队列中的消息数?

谢谢.

java activemq-classic jms message-queue

14
推荐指数
3
解决办法
2万
查看次数

如何在Cocoa触摸框架中解决符号名称冲突

我开发了一个Cocoa触摸框架,并且遇到了嵌入其中的第三方静态框架类的问题.

当消费者项目使用我的框架并导入我的框架使用的第三方静态框架时,问题是符号冲突.

我最终想要从我的框架中删除这些类,因为它们与宿主项目类冲突(它们使用相同的第三方框架)并以某种方式告诉我的框架依赖于主项目第三方框架(我将指示开发人员导入框架),或者我会为这些类添加一个前缀,以便在托管项目时嵌入我的框架并使用与我自己的框架相同的第三方框架,它将不会产生符号冲突

任何帮助或指示都将受到欢迎!

cocoa-touch ios swift

14
推荐指数
2
解决办法
2989
查看次数

将Document对象转换为Byte []

我是这样的init对象:

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Run Code Online (Sandbox Code Playgroud)

之后,我通过将数据插入doc对象来构建XML文件.

最后,我将内容写入计算机上的文件.

我的问题是如何将doc的内容写入byte[]?*

这就是我将内容写入XML文件的方式:

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("changeOut.xml"));
// Output to console for testing
// StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
Run Code Online (Sandbox Code Playgroud)

java xml dom bytearray

13
推荐指数
2
解决办法
3万
查看次数

将cookie添加到客户端请求OkHttp

所以我开始使用Okhttp 3,网上的大多数例子都是关于旧版本的

我需要在OkHttp客户端请求中添加一个cookie,如何用OkHttp 3完成?

在我的情况下,我只是想静态地将它添加到客户端调用而不从服务器接收它

android okhttp okhttp3

12
推荐指数
3
解决办法
3万
查看次数

服务器415响应代码

我正在使用Jetty Web服务器和Jersey进行REST处理.

我定义了:

@POST
@Path("/sendMessage")
@Consumes ({MediaType.APPLICATION_XML, MediaType.TEXT_XML})
public Response sendMessage(@Context final UriInfo uriInfo) 
{
    logger.debug("sendMessage:");
    System.out.println("Received POST!");
    return Response.status(Response.Status.OK).build();

}
Run Code Online (Sandbox Code Playgroud)

但是,当我发送http请求时http://localhost:8080/hqsim/sendMessage,服务器返回415代码.

这就像是不允许通话.我该如何解决这个错误?

java jetty jax-rs jersey http-request

11
推荐指数
1
解决办法
4万
查看次数

在显示状态栏通知之前处理状态栏通知

NotificationListenerService用来处理设备通知:

@Override
public void onNotificationPosted(StatusBarNotification sbn) {

    Log.d(TAG,"onNotificationPosted posted - ID :" + sbn.getId() + "\t"
            + sbn.getNotification().tickerText + "\t" + sbn.getPackageName());
 }
Run Code Online (Sandbox Code Playgroud)

onNotificationPosted()在设备上发布通知后调用该方法.有没有办法在呈现之前捕获它?

我看到也可以使用AccessibilityManager实现阅读通知, 但在弹出通知后再次阅读.

有没有办法延迟设备通知弹出窗口,直到某个时刻?

我知道我可以使用NotificationListenerService它来删除通知(在它弹出给用户之后)并保存并稍后尝试重新启动它.但是我遇到了重新启动的问题,并且在状态栏通知已经显示之后再次发生这种情况.

android android-notifications

11
推荐指数
1
解决办法
894
查看次数