小编Zso*_*agy的帖子

Android循环无限ListView?

我想制作一个循环ListView.这意味着,它的行为有点像iO上的选择器小部件,所以当用户向上或向下滚动时,列表只是循环其内容.我想有人需要为此编写一些花哨的自定义适配器,但我不确定它是否可行.

Afaik,ListView需要事先知道适配器中包含的元素数量.例如,在这种情况下,这将是一个问题.

你对这件事有什么建议吗?

谢谢

user-interface android listview loops infinite

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

如何基于ServiceInfo对象启动服务?

在我的应用程序中,我查询其intent-filters中具有特定类别的服务列表.这很好,我得到一个包含ResolveInfo对象的List.在这些ResolveInfos中,我找到了"serviceInfo"字段,该字段应该描述找到的服务的详细信息.

现在我如何从serviceInfo构造一个Intent,它可以启动找到的服务?

我的代码现在是这样的:

PackageManager pm = getApplicationContext().getPackageManager();
  Intent i = new Intent();
  i.setAction("<my custom action>");
  i.addCategory("<my custom category>");

  List<ResolveInfo> l = pm.queryIntentServices(i, 0);

  gatherAgentNum = l.size();

  if(gatherAgentNum > 0){
   for(ResolveInfo info : l){
    Intent i2 = new Intent(this, info.serviceInfo.getClass());
    i2.putExtra(BaseAgent.KEY_RESULT_RECEIVER, new GatherResult(mHandler));
    startService(i2);
   }
  }
Run Code Online (Sandbox Code Playgroud)

这显然是错误的,"info.serviceInfo.getClass()"只返回serviceInfo对象的类.任何人都可以帮我这个吗?

谢谢

编辑:解决方案(至少我使用的那个):

PackageManager pm = getApplicationContext().getPackageManager();
        Intent i = new Intent();
        i.setAction("<my action>");
        i.addCategory("<my category>");

        List<ResolveInfo> l = pm.queryIntentServices(i, 0);

        if(l.size() > 0){
            for(ResolveInfo info : l){
                ServiceInfo servInfo = info.serviceInfo;
                ComponentName name = …
Run Code Online (Sandbox Code Playgroud)

service android

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

有没有办法显示Android Acivity堆栈?

是否有用于显示当前任务的活动堆栈的工具?我想做一些调试,例如:检查特定活动是否总是在新任务中启动,以及类似的事情.但我找不到任何工具.

谢谢

stack android android-activity

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

大型Android项目 - 如何加快构建过程?

我有一个相对较大的Android项目,包含大约200-250个资源,主要是.xml布局.这意味着当我修改并保存其中一个时,以下重建过程大约需要1分钟,这从长远来看是非常烦人的.

您能否推荐一些有助于此事的提示?

android

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

Wi-Fi Direct可以进行多播吗?

我对Android ICS中新的Wi-Fi Direct功能感到有些困惑.是否可以创建具有多个设备的P2P组,并将源组对等组播数据包发送给其他对等方?

不幸的是,我没有任何支持Wi-Fi Direct的设备,因此我只能浏览我在网上找到的示例.在这些示例中,我只能找到建立1对1连接的对等方.那么,多播可能吗?

android wifi-direct wifip2p

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

我的传入短信处理接收器应该从系统中获得什么许可?

我在我的Android应用程序中静态注册了BroadcastReceiver,它处理传入的SMS消息,如下所示:

        <receiver
            android:name=".receivers.SmsReceiver"
            android:exported="true" >
            <intent-filter android:priority="100" >
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

Lint将此标记为警告,因为无需来自调用者的任何权限即可导出Receiver.如果我将exported属性设置为false,则系统无法在收到SMS消息时调用Receiver.

因此,在注册我的Receiver处理传入的SMS消息时,我应该从系统中获得哪些权限?

编辑:

我不是要求"uses-permission"标签使我的应用程序能够接收SMS消息.我要求我的Receiver正确的"android:permission"值,所以只有系统可以发送这样的广播消息,而另一个应用程序不能欺骗我的应用程序这样的事件.

例如:

        <receiver
            android:name=".receivers.SmsReceiver"
            android:exported="true"
            android:permission="com.android.permission.SOME_PERMISSION_ONLY_THE_SYSTEM_HAS">
            <intent-filter android:priority="100" >
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-permissions

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

Android活动堆栈大小问题?

我有一个有很多活动的应用程序.其中许多活动可以启动其他活动,因此用户希望生成一个非常大的活动堆栈.

我目前正在使用默认活动启动行为.有人知道,如果一个大型活动堆栈(如> 100)会造成问题吗?这有限制吗?它会降低性能,导致ANR对话或类似的事情吗?

谢谢

android activity-stack

5
推荐指数
1
解决办法
1133
查看次数

有没有办法阻止HttpClient在AsyncTask中的执行?

我有一个使用HttpClient处理相当长的下载的AsyncTask.如果用户完成启动它的Activity,我想停止执行此请求.我怎样才能做到这一点?

所以我启动了AsyncTask,HttpClient在execute()中,处理一个GET请求,有没有办法终止这个?

android httpclient android-asynctask

5
推荐指数
2
解决办法
3550
查看次数

是否可以将ListView滚动到listrow的子元素?

我有一个具有相当"高"行的ListView.行具有相当复杂的布局,我想让ListView滚动到一行的子元素.这可能吗?

我只找到.smoothScollToPosition(),但我只能指定整行.我需要更精确的东西,例如滚动到一行中间的子元素.

谢谢.

android android-listview

5
推荐指数
1
解决办法
3223
查看次数

在这种情况下,为什么我们需要Publish和RefCount Rx运算符?

我正在尝试熟悉反应背压处理的问题,特别是通过阅读这个维基:https://github.com/ReactiveX/RxJava/wiki/Backpressure

在缓冲段落中,我们有更多涉及的示例代码:

// we have to multicast the original bursty Observable so we can use it
// both as our source and as the source for our buffer closing selector:
Observable<Integer> burstyMulticast = bursty.publish().refCount();
// burstyDebounced will be our buffer closing selector:
Observable<Integer> burstyDebounced = burstMulticast.debounce(10, TimeUnit.MILLISECONDS);
// and this, finally, is the Observable of buffers we're interested in:
Observable<List<Integer>> burstyBuffered = burstyMulticast.buffer(burstyDebounced);
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,我们通过为缓冲区运算符生成去抖动信号流来有效地去除突发源流.

但为什么我们需要在这里使用发布和引用计数器?如果我们放弃它们会导致什么问题?评论并没有让我更清楚,默认情况下RxJava Observables不是多播吗?

java reactive-programming backpressure rx-java

5
推荐指数
1
解决办法
1183
查看次数