0

セキュリティモジュールを開発していますが、ユーザーが安全なコンテンツにアクセスしようとしたときに、ユーザーを認証するためにLoadable Kernel Module(LKM)からアクティビティを開始したいと思います。

私はAndroidで作業し、Linuxデスクトップでも作業しましたが、Androidのカーネルスペースからアクティビティを開始する方法がわかりません。

4

1 に答える 1

1

lkmから/system/binにある'am'実行可能ファイル(アクティビティマネージャ)を実行できます。

adb shell am start -a android.intent.action.MAIN -n com.android.mms/.ui.ConversationList

lkm内からそれを行う方法は、カーネル関数'call_usermodehelper'を使用することです。

例:

#include <linux/kmod.h>

char *argv[] = { "/system/bin/am", "start", "-a", "android.intent.action.MAIN",  
"-n", "com.android.mms/.ui.ConversationList",  NULL};

static char *envp[] =  { 
  "HOME=/", 
  "PATH=/sbin:/system/sbin:/system/bin:/system/xbin", NULL };

call_usermodehelper (argv[0], argv, envp, 1);
于 2013-07-05T19:38:30.253 に答える