小编Jim*_*mix的帖子

Android NDK:使用预编译的静态库链接

我正在尝试将Jnetpcap移植到Android,以便将其用于解析.pcap文件.Jnetpcap是libpcap的java包装器,它使用JNI.我已经使用android的源代码树将libpcap编译为静态库.

当编译Jnetpcap作为共享库时,我遇到错误,因为我必须链接libpcap.a但我不知道怎么能告诉Android.mk他必须链接到我拥有的libpcap.a文件.

使用"LOCAL_STATIC_LIBRARIES:= libpcap"将无法正常工作,因为在android NDK中默认不提供libpcap.

如果你们中的任何人能帮助我,我会非常感激.

这是我当前的Android.mk文件:

include /home/sergio/workspace/MyApp/jni/libpcap/Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := jnetpcap

LOCAL_SRC_FILES :=\
    jnetpcap.cpp\
    packet_flow.cpp\
    packet_jheader.cpp\
    jnetpcap_pcap_header.cpp\
    nio_jbuffer.cpp\
    winpcap_stat_ex.cpp\
    winpcap_send_queue.cpp\
    winpcap_ext.cpp\
    jnetpcap_ids.cpp\
    jnetpcap_dumper.cpp\
    jnetpcap_utils.cpp\
    util_in_cksum.cpp\
    jnetpcap_beta.cpp\
    nio_jmemory.cpp\
    packet_jsmall_scanner.cpp\
    packet_protocol.cpp\
    nio_jnumber.cpp\
    packet_jheader_scanner.cpp\
    library.cpp\
    packet_jscan.cpp\
    jnetpcap_pcap100.cpp\
    util_checksum.cpp\
    packet_jpacket.cpp\
    winpcap_ids.cpp\
    jnetpcap_bpf.cpp

LOCAL_C_INCLUDES := /home/sergio/android-ndk-r5b/platforms/android-8/arch-arm/usr/include /home/sergio/workspace/Shark/jni/libpcap

LOCAL_STATIC_LIBRARIES := libpcap

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

linker android static-libraries android-ndk

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

意图恢复以前暂停的活动(从通知中调用)

我正在开发一个向用户显示通知的应用程序.通知的目的是使用户在另一个活动中轻松返回活动.我在我的应用程序中使用此代码来创建和显示通知.

                    notification = new Notification(R.drawable.icon,
                            "Notify",
                            System.currentTimeMillis());
                    notification.setLatestEventInfo(this, "App name",
                            "App message",
                            PendingIntent.getActivity(
                                    this, 0,
                                    new Intent(this, Main.class),
                                    PendingIntent.FLAG_CANCEL_CURRENT));
                    notification.flags |= Notification.FLAG_ONGOING_EVENT;
                    nManager.notify(0, notification);
Run Code Online (Sandbox Code Playgroud)

但是当用户点击通知时,会启动相同活动的新实例,而不是之前用户使用的实例.

我认为这与PendingIntent有关,但是我找不到如何使Intent恢复以前暂停的活动实例而不是创建新实例.

谢谢.

notifications android android-activity android-pendingintent

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

如何删除TextView的旧行

我正在开发一个应用程序,它经常需要在TextView中向用户显示结果,就像某种日志一样.

该应用程序运行良好,它在TextView中显示结果,但只要它继续运行和添加行,应用程序变慢,崩溃,因为TextView的字符长度.

我想知道android API是否提供了强制TexView自动删除引入的最旧行以便为新的行腾出空间的任何方法.

android textview

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

从BroadcastReceiver调用活动方法.可能吗?

我正在开发一个应用程序,因为我需要在触发BroadcastReceiver时调用我的活动方法.我希望BroadcastReceiver检测网络连接何时关闭并调用我已经写过的活动方法.

我一直在寻找,我发现之前有更多的人问过这个,但是没有人得到关于如何做到的答案.

我想也许android的API不允许它.如果无法从BroadcastReceiver调用我的活动方法还有其他方法吗?

谢谢.

methods android broadcastreceiver android-activity

6
推荐指数
1
解决办法
5416
查看次数