小编Phi*_*hil的帖子

在接受之前取消蓝牙服务器套接字时,整个过程终止.为什么?

我正在编译SDK 10(2.3.3):

android:minSdkVersion="10"
android:targetSdkVersion="16"
Run Code Online (Sandbox Code Playgroud)

我正在测试两款索尼爱立信智能手机.其中一个有Android 2.3.7,另一个有4.0.1.

listenUsingInsecureRfcommWithServiceRecord用来在蓝牙上打开一个新的服务器套接字并听取连接.

如果成功接受连接,那么一切正常.我甚至可以尝试取消服务器套接字,但这似乎并没有打扰刚刚创建的连接套接字.

但是当我想在线路bluetoothServerSocket.close();被执行后接受任何连接之前取消服务器套接字时,整个活动就会关闭并且进程终止.而且这不是我能处理的常规例外.

实际上即使logcat本身也退出!! 我必须再次快速执行它以获取您可以在下面看到的错误:

Zygote  D  Process 25471 terminated by signal (11)
  295         InputDispatcher  W  channel '2c2e20a8 com.pligor.test/activities.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
  295         InputDispatcher  E  channel '2c2e20a8 com.pligor.test/activities.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
  295                dalvikvm  D  GC_FOR_ALLOC freed 1299K, 21% free 13252K/16583K, paused 93ms
  295         InputDispatcher  W  Attempted to unregister already unregistered input …
Run Code Online (Sandbox Code Playgroud)

android bluetooth serversocket

12
推荐指数
2
解决办法
2735
查看次数

这将是最好的在Android中制作水平滚动应用程序?

我必须制作一个用户在屏幕上移动的应用程序,就像我们的android主屏幕一样.

有一个图像列表,我们可以在水平滚动条中滚动图像.

用户无法更改图像的位置,就像在水平屏幕上排列的一些缩略图一样

这就像iPhone应用程序开发中的分页控件.

我试图找到这样做的方法,但我对android很新,我想知道实现上述目标的最佳方法吗?

我听说过画廊控制,但我不确定它是否适合我的目的.

此外,如果你能给出你建议的答案的链接..这将是很好的,好像有一个新的控制器参与,我将能够更好地理解它,因为我仍然是一个更新鲜.先感谢您.

编辑:对于那些不熟悉iPhone分页视图的人,是一个视频示例.

android scroll

11
推荐指数
6
解决办法
3636
查看次数

如何在Android上的EditText中设置多个输入类型?

我正在尝试创建一个EditText自动大写和自动更正实现.我已经手动想出如何添加InputFilters以允许自动大写,虽然这仅键入第一个字母后才有效,而且我没有运气自动校正(我试图创建一个使用的InputFilter AutoText,但我不是确定这一切是如何工作的).理想情况下,我可以使用EditText.setInputType(...)来处理所有内容,但到目前为止这还没有奏效.有没有办法实现这个目标?我失败的尝试如下所示(我只是得到正常输入).

EditText mEditText = new EditText(this);
int inputType = InputType.TYPE_CLASS_TEXT;
if (auto_capitalize) {
    inputType = mEditText.getInputType() | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS;
}
if (auto_correct) {
    inputType = mEditText.getInputType() | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT;
}
mEditText.setInputType(inputType);
Run Code Online (Sandbox Code Playgroud)

请注意,我只对EditText在代码中创建此代码的解决方案感兴趣- 而不是通过XML.

编辑

我找到了描述TextKeyListener的声音新文档,但是在尝试使用它之后:

mEditText.setKeyListener(new TextKeyListener(TextKeyListener.Capitalize.CHARACTERS, true));
Run Code Online (Sandbox Code Playgroud)

并且使用@ farble1670的使用思路setRawInputType,以免影响KeyListeners,文本仍然没有变化.

android bitwise-operators input-filtering android-edittext

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

Android - 在视频上创建圆形遮罩

我对Android开发相对较新,我想知道是否可以将VideoView屏蔽成形状.这是我到目前为止:

预期结果

预期结果(样机)

实际结果

我的视频和布局XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#0088ff"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".VideoPlayerActivity" >

    <FrameLayout
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@drawable/circular_mask"
        android:foreground="@drawable/circular_mask" >

        <VideoView
            android:id="@+id/videoView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:fitsSystemWindows="false"
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:scrollbarAlwaysDrawVerticalTrack="false" />

        <Space
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </FrameLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

面膜形状xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:padding="20dp"
    android:shape="oval" >

    <solid android:color="#FFFFFFFF" />

    <corners android:radius="10dp" />

</shape>
Run Code Online (Sandbox Code Playgroud)

主要java:

package com.example.webmvideo;

import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.annotation.TargetApi;
import android.app.Activity;
import android.view.Menu;
import android.widget.MediaController;
import android.widget.VideoView;
import android.util.Log;
import android.media.MediaPlayer;

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class MainActivity extends Activity …
Run Code Online (Sandbox Code Playgroud)

java xml android mask android-layout

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

如何在Android中正确地将像素坐标转换为画布坐标?

我正在使用一个MotionEventAndroid在Android中捕获一个长按.然后,我需要将坐标转换为画布坐标,我可以从中生成自定义地图坐标(而不是Google地图).SurfaceViewGestureListenerMotionEvent

从我所读到的,我采取了给定MotionEvent e,e.getX()e.getY()得到像素坐标.如何将这些坐标转换为SurfaceView画布坐标?

这是我GestureListener的聆听长时间点击:

/**
* Overrides touch gestures not handled by the default touch listener
*/
private class GestureListener extends GestureDetector.SimpleOnGestureListener {

  @Override
  public void onLongPress(MotionEvent e) {
     Point p = new Point();
     p.x =  (int) e.getX();
     p.y = (int) e.getY();
     //TODO translate p to canvas coordinates
  }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

编辑: 这是否与屏幕尺寸/分辨率/深度和画布'Rect对象有关?

events android pixel android-canvas

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

在Android上获取首选/默认应用

我试图得到给定的默认/首选应用程序Intent.例如,当用户安装第二个Web浏览器,然后尝试打开URL时,他或她将获得如下对话框:

默认浏览器选择器

如果用户随后选择" 默认使用此操作"选项,则在按下URL时将不再打开该对话框.

我正在开发一个应该知道这个默认首选 app/action的应用程序.我该怎么做呢?我目前正在使用下面的代码,但getPreferredPackage不会返回任何内容:

Intent i = (new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com"));
PackageManager pm = context.getPackageManager();
final List<ResolveInfo> list = pm.queryIntentActivities(i, 0);
IntentFilter ifilter = new IntentFilter(i.getAction());
if (i.getCategories() != null) {
    for(String category : i.getCategories()) {
        ifilter.addCategory(category);
    }
}
List<IntentFilter> filters = new ArrayList<IntentFilter>();
filters.add(ifilter);
List<ComponentName> preferredActivities = new ArrayList<ComponentName>();
pm.getPreferredActivities(filters, preferredActivities, null);
for (ComponentName activity : preferredActivities) {
    for (ResolveInfo rinfo : list) {
        if (rinfo.activityInfo.applicationInfo.packageName.equals(activity.getPackageName())) {
            try {
                final PackageInfo …
Run Code Online (Sandbox Code Playgroud)

android android-package-managers

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

工作副本需要比Xcode支持的更新版本的Subversion

我刚安装Xcode 4.6(我有Xcode 4.5.1).我刚刚打开一个现有的项目并得到了这样的信息:

工作副本"path/to/my project"需要比Xcode支持的更新版本的Subversion.

我目前正在使用Cornerstone for svn,并了解我可能会忽略此消息 - 但由于我想要了解最新信息,我需要做些什么来解决此问题?

警告的屏幕截图

xcode software-update

9
推荐指数
1
解决办法
6168
查看次数

截断的胖文件链接器错误

虽然我对使用Objective-C进行开发很熟悉,但在错误解释方面,我仍然认为自己有点像n00b.我正致力于其他人也在努力的工作申请.我相信我们可能有不同版本的Xcode,一个开发人员有一台PC(其他人和我有一台MacBook).我正在使用Xcode 4.5.1.

问题

我得到以下Apple Mach-O链接器错误:

ld:截断的胖文件.对于体系结构i386 clang,从68到2783300的切片是文件末尾,长度为135:错误:链接器命令失败,退出代码为1(使用-v查看调用)

完整错误如下(路径重命名):

Ld build/Debug-iphonesimulator/MyApp.app/MyApp普通i386 cd/Users/me/Documents/MyApp/trunk setenv IPHONEOS_DEPLOYMENT_TARGET 5.1 setenv PATH"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/ USR /斌:/Applications/Xcode.app/Contents/Developer/usr/bin:在/ usr/bin中:/ bin中:/ usr/sbin目录:/ sbin目录:在/ usr/local/bin目录:在/ usr/X11/bin中:/ opt/local/bin:/ usr/local/git/bin"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -L/Users/me/Documents/MyApp/trunk/build/Debug-iphonesimulator -F/Users/me/Documents/MyApp/trunk/build/Debug-iphonesimulator -F/Users/me/Documents/MyApp/trunk -filelist /Users/me/Documents/MyApp/trunk/build/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/MyApp .LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -lsqlite3.0 -v -fobjc-arc -fobjc-link-runtime -Xlinker - no_implicit_dylibs -mios-simulator-version-min = 5.1 -framework MobileCoreServices -weak_framework Accounts -weak_framework AdSupport -weak_framework Social -framework CoreBluetooth -framework MediaPlayer -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -framework FacebookSDK -o/Users/me /Documents/MyApp/trunk/build/Debug-iphonesimulator/MyApp.app/MyApp

Apple clang 4.1版(标签/ …

xcode linker-errors ios

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

android上捕获视频的最长持续时间

我有在Android上捕获视频剪辑的代码:

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra("android.intent.extra.durationLimit", 30000);
intent.putExtra("EXTRA_VIDEO_QUALITY", 0);
startActivityForResult(intent, ActivityRequests.REQUEST_TAKE_VIDEO);
Run Code Online (Sandbox Code Playgroud)

此代码适用于API 2.2,但持续时间限制不适用于API 2.1(Galaxy S).设定这个时间是否有一些常数或参数,或者是否有比我正在使用的方法更好的方法?

我问,因为我找到了另一个适用于Galaxy S(被叫Vibrant)的应用程序,可以在很短的时间内录制视频.

video android video-capture android-intent

7
推荐指数
1
解决办法
6362
查看次数

有没有办法在没有专用服务器的情况下在Android中使用GCM?

我正在构思一个Android应用程序,它将数据从一个设备发送到另一个设备(如图片消息),但由于我没有服务器,我正在研究其他消息传递方式.Google Cloud Messaging(GCM)似乎是一个不错的选择,因为它是针对Android制作的,并且可以免费使用,但它仍然需要服务器才能使用.有没有办法绕过这个要求 - 比如在应用程序本身上运行GCM服务器?或者在Android上有更好的无服务器消息传递方法吗?

messaging android google-cloud-messaging

7
推荐指数
1
解决办法
4829
查看次数