小编Sam*_*Sam的帖子

使用按钮以编程方式更改屏幕方向

我认为这是可实现的,因为屏幕旋转行为可以达到应用程序级别.

android screen-orientation android-button

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

如何从shell脚本中的forked子进程获取进程id(pid)

我相信我可以从父进程分叉10个子进程.

以下是我的代码:

#/bin/sh
fpfunction(){
n=1
while (($n<20))
do

        echo "Hello World-- $n times"
        sleep 2
        echo "Hello World2-- $n times"
        n=$(( n+1 ))
done
}

fork(){
    count=0
    while (($count<=10))
    do
      fpfunction &
      count=$(( count+1 ))
    done
}

fork
Run Code Online (Sandbox Code Playgroud)

但是,如何从我刚创建的每个子进程中获取pid?

谢谢.

linux shell

24
推荐指数
2
解决办法
4万
查看次数

uevent从内核发送到用户空间(udev)

我知道udev在linux系统上播放,它接收通过netlink socket从内核发送的uevent.

但是,我的问题是:

  1. 内核如何发送事件?它必须是通过添加/删除设备触发的内容,然后将事件发送到udev.内核如何做到这一点?(我能找到任何代码示例吗?)

  2. udev只通过netlink socket接收这些uevent.这是udev做到的唯一方法.它是否正确?

  3. 当uevent从内核发出时,我知道它可以进行广播.但是,它可以做单播吗?

感谢您的任何反馈.

linux udev linux-kernel

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

蓝牙协议(RFCOMM,L2CAP和ACL)

从我从Bluetooth Essentials for Programmers中读到的内容,这本书提到了一些我不太了解的观点.

RFCOMM是一种可靠的基于流的协议.L2CAP是一种基于数据包的协议,可配置不同级别的可靠性.

L2CAP实际上充当RFCOMM的传输协议,因此每个RFCOMM连接实际上封装在L2CAP连接中.

这真的让我困惑,因为这两个协议是不同类型的协议(一个是基于流的,而另一个是基于分组的).所以基于它的解释,我在下面有一些问题.

  1. 由于RFCOMM连接是封装的,那么串口配置文件(SPP)如何使用RFCOMM连接?它也应该使用L2CAP.

  2. A2DP使用L2CAP连接.这对我来说意味着相同,因为L2CAP和RFCOMM封装在ACL连接中,这是否意味着A2DP使用ACL连接?我知道这是不正确的但是如何解释这里.

谢谢你的解释.

bluetooth l2cap rfcomm android-bluetooth

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

Android 4.3构建错误

我发现在其他论坛上发布了一些相同的错误,但尚未找到解决此问题的答案.

在我新安装的Ubuntu 12.10上运行,

out/target/common/obj/PACKAGING/public_api.txt:22097: error 12: Class
android.telephony.gsm.SmsMessage changed static qualifier
prebuilts/sdk/api/18.txt:22054: error 9: Removed public constructor SmsMessage()
prebuilts/sdk/api/18.txt:22055: error 9: Removed public method    
android.telephony.gsm.SmsMessage.calculateLength
prebuilts/sdk/api/18.txt:22056: error 9: Removed public method  
android.telephony.gsm.SmsMessage.calculateLength
prebuilts/sdk/api/18.txt:22057: error 9: Removed public method  
android.telephony.gsm.SmsMessage.createFromPdu
prebuilts/sdk/api/18.txt:22058: error 9: Removed public method  
android.telephony.gsm.SmsMessage.getDisplayMessageBody
prebuilts/sdk/api/18.txt:22059: error 9: Removed public method 
android.telephony.gsm.SmsMessage.getDisplayOriginatingAddress
prebuilts/sdk/api/18.txt:22060: error 9: Removed public method 
android.telephony.gsm.SmsMessage.getEmailBody
prebuilts/sdk/api/18.txt:22061: error 9: Removed public method  
android.telephony.gsm.SmsMessage.getEmailFrom
..
..
..
Run Code Online (Sandbox Code Playgroud)

很显然,gsm.SmsMessage在构建环境中存在一些未知问题.

我试图将我的java版本从1.7切换到1.6.但它仍然无效.

有谁知道如何解决这一问题?

谢谢

android build

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

如何复制const char*类型变量的内容?

我知道之间的区别:

char *a = "string";
char p[] = "string";
Run Code Online (Sandbox Code Playgroud)

来自*a,它充当以下......

     +-----+     +---+---+---+---+---+---+---+ 
  a: |  *======> | s | t | r | i | n | g |\0 |    
     +-----+     +---+---+---+---+---+---+---+ 
Run Code Online (Sandbox Code Playgroud)

如果我想创建另一个变量说

char *b;
Run Code Online (Sandbox Code Playgroud)

我希望它将指针中的所有内容复制到一个点而不是指向a的内容.

     +-----+     +---+---+---+---+---+---+---+      
  a: |  *======> | s | t | r | i | n | g |\0 |    
     +-----+     +---+---+---+---+---+---+---+ 
  b: |  *======> | s | t | r | i | n | g |\0 |    
     +-----+     +---+---+---+---+---+---+---+ 
Run Code Online (Sandbox Code Playgroud)

这该怎么做 ?

c c++ pointers

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

Android 5.0构建错误与Java版本问题

我目前在我的Ubuntu 14.04上运行的java版本是

java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我输入了更改java版本的命令

sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
  ------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
* 1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1         manual mode

Press enter to keep the current choice[*], or type selection number: 1
test@test-ZX-530:/media/test/SSD/N7$ sudo update-alternatives --config javac
There are 2 choices for …
Run Code Online (Sandbox Code Playgroud)

android android-build

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

Android画布填充背景颜色(Canvas应用程序)

通过以下代码,我有一些问题.

public class MainActivity extends Activity {

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView( new View(this) {
         Paint mPaint = new Paint();

         @Override
         protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
            super.onDraw(canvas);


            int width = this.getWidth();
            int height = this.getHeight();
            int radius = width > height ? height/2 : width/2;
            int center_x = width/2;
            int center_y = height/2;

            // prepare a paint
            mPaint.setStyle(Paint.Style.STROKE);
            mPaint.setStrokeWidth(5);
            mPaint.setAntiAlias(true);

            // draw a rectangle
            mPaint.setColor(Color.BLUE);
                mPaint.setStyle(Paint.Style.FILL); //fill the background with blue color …
Run Code Online (Sandbox Code Playgroud)

android paint surfaceview android-canvas

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

hostapd调试级别配置

据我所知,到目前为止,hostapd是一个能够进行一些网络配置的二进制文件.

但是,要启用hostapd调试级别,是否需要重建二进制文件?我可以采取其他方法而不是重建一个新方法吗?

wifi wificonfiguration hostapd

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

oprofile 二进制构建错误 -(未找到自由库)

在我的主机(Ubuntu 15.04)上下载 oprofile 源代码后,出于某些原因,我需要自己构建二进制文件。

我输入以下命令来构建二进制文件

./configure && make && make install
Run Code Online (Sandbox Code Playgroud)

并得到错误信息

configure: error: liberty library not found
Run Code Online (Sandbox Code Playgroud)

通过搜索此错误的修复程序,我发现需要安装一个包。

sudo apt-get install binutils-dev
Run Code Online (Sandbox Code Playgroud)

但是,即使软件包已成功安装,仍会出现相同的错误。

有什么我可以检查的吗?

谢谢

linux ubuntu performance oprofile

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