捕获事件:运行android应用程序

 为了找到一个解决方案,它花了我不少时间。某处超过6或7点,我爬上所有在Inet,zaguglil许多网站,论坛,超过400显得那么anddev.org。这样一个数字的搜索短语上)

问题是,Android不会通知当用户运行一个应用程序我们。它可以提醒有关安装,拆除我们,将其关闭,但不启动。答案是在这里找到。

其实,决定归结为一个事实,我们的应用程序应该公开的内容logcat和阅读不断,要查看有关运行应用程序的入口。要读取记录行,你可以使用这个代码:

Process proc = null;
 
try {
    proc = Runtime.getRuntime().exec("/system/bin/logcat -b main");
} catch(IOException e) {
    // work exception
}
 
BufferedReader reader = null;
try {
    reader = new BufferedReader(new InputStreamReader(
            proc.getInputStream()
    ));
 
    String line;
 
    while ( true ) {
        line = reader.readLine();
    }

应用程序正常启动的通知日志中的条目类型表示:

02-15 21:56:43.192: INFO/ActivityManager(52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=org.uas.uprotector/.LogActivity }

 

要处理的消息,并选择应用程序的可执行文件(活动)的名称可以使用正则表达式。

正如我们所看到的 - 问题的解决方案是不平凡的资源和极其苛刻的。我希望在未来的Android平台将仍然可以在此通过广播消息,可以赶上reciever-类警觉。

顺便说一句,读日志不忘记添加一行宣言:

<uses-permission android:name="android.permission.READ_LOGS" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值