A. 为什么安卓 APP 之间能互相唤醒
收发广播的老流氓
B. 如何解决安卓手机频繁唤醒的问题
如果你遇到这种问题的话,你可以在手机的自启动向你取消,开机自启动,一般的情况下可以取消其唤醒了,如果还是不行了,那么就要将系统root了,然后你就可以直接把这个东西删除了。
C. android os进程长时间处于“保持唤醒状态”,什么原因
我也在找这个问题解决办法,但是很遗憾 还没有!下边有一篇文章写的比较清楚:只有飞行模式有办法解决!而且还有个问题:今天半天时间看了下流量,这个进程居然一下耗费了13M多的流量,真的不知道是什么情况!!
------------------------------以下转自网络--------------------------------
Android OS 进程耗电多的问题是否有解决办法?
简单的说就是Android手机(根据查阅,各种型号Android手机均有可能出现此情况)变得异常费电,查看电量信息,android os进程耗电最大,待机时占用到60%+的电量。
网友总结有以下特点:
1.关掉背景同步和各种谷歌服务,无效
2.用钛同步冻结各种有可能在待机时工作的服务和软件(包括各种谷歌服务),无效
3.能挪到SD卡的程序统统挪到SD卡,无效
4.关掉WLAN,GPS,数据传输,数据漫游,无效
5.打开USB调试,无效
6.充满电以后重启一次,无效
7.用CPU大师设置屏幕关闭时自动降频至384MHZ或者192MHZ,无效
8.用PLUS工具箱提高超频电压,因为不能设置1.2GHZ以上的值,尝试设置成56-800一类的若干组高电压数值,无效
9.飞行模式,有效
10.考虑到9有效,综合考虑4,因此在4的基础上,手动指定运营商为联通,并设置为2G网络,无效
11.用PLUS工具箱切换了O2,港版,新欧版等几种基带配置,无效
12.刷ROM,无效
13.用autostart关掉各种自启动关联,无效
网友分析得出的原因:
“不
正常耗电是因为android os在待机时不断唤醒设备造成的。至于具体是什么子进程在不断让android os工作,可以通过wake
lock的使用情况来确定。所以安装模拟终端,用take
wakelock的方式得到/proc/wakelock文件,然后进行查看,结果数次查看的结果都是mmc_delayed_work进程非常频繁的使
用wake lock。(1小时5000次以上)然后重启在充电和飞行模式下做同样的测试,结果mmc_delayed_work进程使用wake
lock的次数几乎可以忽略(只有几次),据此基本可以确定,是mmc_delayed_work在不插电的情况下工作不正常,不断请求CPU资源,导致了android os一直唤醒待机时的设备,造成异常耗电。此问题基本上和谷歌服务什么的没任何关系。”
那么,这种情况应该如何解决呢?这样的好点基本导致手机无法正常使用了,但纯待机都到不了12小时,希望有高人给用户些建议
D. 安卓后台应用为何喜欢互相唤醒
一般不会互相唤醒,安卓后台应用需要注册事件才能唤醒,例如网络连接改变,锁屏唤醒等,这些事件会唤醒所有注册该事件的应用,因此看起来是互相唤醒。
E. airpodspro安卓为什么一开主动降噪就唤醒了语音助手
恢复出厂或者用设置,不过最大的可能是卡了。无法唤醒语音助手(下载的第三方应用现在会将AirPodspro识别成别的耳... *降噪体验十分完美 ps: 1.同时打开蓝牙会优先链接安卓2.连接过安卓后需放。
F. 在Android系统上启动知乎app时会唤醒微信是什么原因
本回答信息来自针对微信Android客户端以及知乎Android客户端的分析。
我手机上装了一键清理的软件,平时从来不让微信在后台运行,但是每当打开知乎,不出三秒,微信消息就来了,消息并不固定,只是感觉微信被打开了,我在想知乎是不是跟微信合作,后台打开微信,然后以此来赚钱的呢?
首先针对题主的疑问,准备的回答:不是
实际的情况是,知乎调用微信sdk中分享的相关接口,微信sdk的相关接口里面,给微信发送了一个广播,微信app就被唤醒了,这不是知乎的主观行为,而是微信的(而且结合实际的分析来看,这个应该也算是正常的功能)。
以下是详细分析:
1 首先说一下app的被唤醒(自启动)机制。
app自启动,基本上都是依靠Android的广播来实现的,而且是静态注册的广播(在AndroidManifest.xml文件中进行配置的广播),发送广播的方法在一般情况下是sendBroadcast。
2 按照惯例,反编译一下微信apk,然后搜索一下它能够由哪些静态广播进行唤醒,同时抓取广播相关的log。
结合微信的AndroidManifest.xml文件以及抓取的log,可以知道相关的BroadcastReceiver是EntryReceiver,相关的action 为
com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER
com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER
从其名称上看,是和注册/注销相关,具体接收到广播之后做了哪些处理,这些就不赘述了。
I/ActivityManager( 1107): Start proc com.tencent.mm for broadcast com.tencent.mm/.plugin.base.stub.WXEntryActivity$EntryReceiver: pid=28779 uid=10131 gids={50131, 3003, 1028, 1015, 3002, 3001}
<receiver android:name="com.tencent.mm.plugin.base.stub.WXEntryActivity$EntryReceiver">
<intent-filter>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER"/>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER"/>
</intent-filter>
3 接下来分析知乎的代码
搜索一下知乎反编译之后的smali文件(sendBroadcast),其中只有一条是和微信相关的
hu_2.0.3_176/smali/com/tencent/mm/sdk/openapi/j.smali: invoke-virtual {v0, v4, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
再看一下反编译的java文件,能够比较清楚的看到,就是利用com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER
这个action来进行注册,检查一些必要的信息。
根据这些信息,结合微信和知乎反编译之后的文件,已经可以完整的分析具体发生了哪些事情了。
com.tencent.mm.sdk.openapi.j
public final boolean a(String paramString)
{
if (!b("com.tencent.mm"))
{
com.tencent.mm.sdk.platformtools.a.a("MicroMsg.SDK.WXApiImplV10", "register app failed for wechat app signature check failed");
return false;
}
this.b = paramString;
com.tencent.mm.sdk.platformtools.a.b("MicroMsg.SDK.WXApiImplV10", "register app " + this.a.getPackageName());
Context localContext = this.a;
String str1 = "weixin://registerapp?appid=" + this.b;
String str2 = "com.tencent.mm" + ".permission.MM_MESSAGE";
Intent localIntent = new Intent("com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER");
String str3 = localContext.getPackageName();
localIntent.putExtra("_mmessage_sdkVersion", 553910273);
localIntent.putExtra("_mmessage_appPackage", str3);
localIntent.putExtra("_mmessage_content", str1);
localIntent.putExtra("_mmessage_checksum", b.a(str1, str3));
localContext.sendBroadcast(localIntent, str2);
com.tencent.mm.sdk.platformtools.a.b("MicroMsg.SDK.MMessage", "send mm message, intent=" + localIntent + ", perm=" + str2);
return true;
}
4 最后,因为偷懒,所以我只是大概的静态分析了相关代码,没发现知乎和微信做了什么丧失的事情,然后大概加了段log check了一下,从中也可以看出的确是和分享有关,至于使用时机及频率是否合适,这个和问题没什么关系,不做讨论。
D/hillwind( 5766): java.lang.Throwable
D/hillwind( 5766): at com.hillwind.android.util.RLog.printStackTrace(RLog.java:11)
D/hillwind( 5766): at com.tencent.mm.sdk.openapi.j.a(Unknown Source)
D/hillwind( 5766): at com.hu.android.util.af.b(WeChatHelper.java:43)
D/hillwind( 5766): at com.hu.android.widget.a.b(ActivityChooserModel.java:721)
D/hillwind( 5766): at com.hu.android.widget.ShareActionProvider.setShareIntent(ShareActionProvider.java:98)
D/hillwind( 5766): at com.hu.android.ui.fragment.bx.a(QuestionViewerFragment.java:221)
D/hillwind( 5766): at android.support.v4.app.j.a(FragmentManager.java:1973)
D/hillwind( 5766): at android.support.v4.app.g.onCreatePanelMenu(FragmentActivity.java:226)
D/hillwind( 5766): at android.support.v7.a.b.a(ActionBarActivity.java:233)
D/hillwind( 5766): at android.support.v7.a.g.a(ActionBarActivityDelegateICS.java:146)
D/hillwind( 5766): at android.support.v7.a.b.onCreatePanelMenu(ActionBarActivity.java:200)
D/hillwind( 5766): at android.support.v7.a.g$a.onCreatePanelMenu(ActionBarActivityDelegateICS.java:293)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:472)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:878)
D/hillwind( 5766): at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:257)
D/hillwind( 5766): at android.os.Handler.handleCallback(Handler.java:733)
D/hillwind( 5766): at android.os.Handler.dispatchMessage(Handler.java:95)
D/hillwind( 5766): at android.os.Looper.loop(Looper.java:136)
D/hillwind( 5766): at android.app.ActivityThread.main(ActivityThread.java:5140)
D/hillwind( 5766): at java.lang.reflect.Method.invokeNative(Native Method)
D/hillwind( 5766): at java.lang.reflect.Method.invoke(Method.java:515)
D/hillwind( 5766): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
D/hillwind( 5766): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
D/hillwind( 5766): at dalvik.system.NativeStart.main(Native Method)
G. 安卓系统不同的软件总是被唤醒是怎么回事
安卓系统不同的软件总是被唤醒是因为软件被允许在后台运行,有消息就自动唤醒。
解决方法:设置-自启管理里关闭软件自动后台启动。
或者在安装软件完成时禁止软件后台运行。
H. 安卓手机双击唤醒屏幕怎么实现的
可以通过设置来完成,以魅族手机为例,具体操作方法如下:
1、在手机主界面打开设置。
I. 为什么那么多安卓应用要互相唤醒,为什么要
国内没有谷歌原装android系统,没有谷歌机制的监管,大家不得不这么做