【Android四大组件应用系列——使用ContentProvider实现跨进程通讯】教程文章相关的互联网学习教程文章

android – 除了要求许可外,如何在不干扰当前前台进程的情况下获得媒体投影管理器?【代码】

问题:我有一个屏幕截图应用程序,它使用浮动覆盖服务进行控制,并使用屏幕转换API媒体项目管理器来访问屏幕.有时当设备内存不足时,Android重新启动服务,我丢失了媒体投影. 我知道重新获取新媒体投影的唯一方法是重新打开请求权限的活动,这将是它的结束,除了一个问题.某些应用程序,特别是游戏,似乎在丢失前台进程,暂停或以其他方式重置时进行侦听.这很烦人. 这是我理想的场景.服务打开,如果用户在权限请求对话框中选择了“已检查不再...

如何创建使用单独进程的Android活动和服务

我有一个包含活动和服务的Android应用程序.目前它们都存在于同一个进程中并使用相同的堆但我想要为服务分离进程/堆. IE浏览器.我希望服务完全独立于活动,这样如果活动崩溃,它将不会影响服务.但是,我希望它们可以作为单个应用程序安装.这可能吗?解决方法:绝对有可能.在AndroidManifest.xml中查看服务的process属性 http://developer.android.com/guide/topics/manifest/service-element.html 报价:The name of the process where ...

Android 多进程Debug 记录【图】

1、为什么会用到多进程debug 为了分担主进程内存压力,将三方webview页面独立到其他进程。这样做虽然分担的内存压力但是造成了debug 其他进程代码困难。现对debug过程记录下,方便以后查看。 1)场景如下 现有两个进程 默认进程 以及 ‘webapp’进程2)debug webapp进程 运行debug后,启动webapp进程后点击 如下图所示 Attach debugger to Android process按钮添加webapp进程3)如果要调试的代码在activity resume之前则需要...

android – 按包名查找正在运行的进程ID【代码】

我正在编写一个脚本,我需要提供我的应用程序的PID.我可以通过以下命令列出所有进程及其PID,并可以看到我的应用程序的条目.adb shell ps这给了我一个巨大的进程列表.我需要一个条目(我可以进一步提供给另一个命令),所以我想用包名过滤这个结果. grep命令在我的Windows机器上不起作用.也尝试了以下命令,但它没有帮助.adb shell ps name:my_app_package解决方法:从Android 7.0开始,按包名查找进程ID的最简单方法是使用pidof命令:usag...

android – NDK如何获取所有进程运行的列表?【代码】

无论如何使用NDK使用纯C/C++代码在设备上运行当前所有进程?解决方法:对于大多数这类东西来说,Android是Linux,而在Linux上执行此操作的官方方法是读取/ proc文件系统.这就是ps命令行程序的功能.这是Android’s ps program的片段,它位于平台/系统/核心存储库中:d = opendir("/proc");while((de = readdir(d)) != 0){if(isdigit(de->d_name[0])){int pid = atoi(de->d_name);if(!pidfilter || (pidfilter == pid)) {ps_line(pid, 0,...

android – 如果在onAnimationEnd上删除子进程,ViewAnimator的OnDraw会抛出NullPointerException【代码】

这不是一个问题,更像是与他人分享我遇到的问题以及我是如何解决的.基本上,我正在尝试创建一个ViewAnimator,他会根据用户点击创建额外的子项.在我动画下一个View之后进行清理,我把它放了outAnimation.setAnimationListener(listener);并在AnimationListener中public void onAnimationEnd(Animation animation) {viewAnimator.removeView(out); }现在,上面方法的问题是,在onAnimationEnd之后,它会抛出NullPointerException.基本上,这...

android – 如果获取的进程被杀死,部分唤醒锁会发生什么?【代码】

如果进程在被杀之前没有被释放,它会自动释放吗?解决方法:如果处理被杀,则释放唤醒锁.您可以通过以下方法检查 获取唤醒锁,然后运行adb shell dumpsys power从ddms中杀死进程.再次运行dumpsys电源 你可以看到mlocks.size回到了0.

启动后杀死Android进程【代码】

我需要找到解决方案,用于杀死所有外国应用程序,除了允许的应用程序列表(这是我们的公司经理使用Android平板电脑的任务). 现在,我以这种方式杀死外国应用程序(代码在服务中使用计时器,每2秒):if (killThisProcess) {Log.i("Process to KILL: ", appProcess.processName);// kill appactivityManager.killBackgroundProcesses(appProcess.processName); }此代码有效,但仅适用于后台应用程序.用户可以启动应用程序,执行某些操作,并且...

检测您是否在Android上的Application中的主进程或远程服务进程中【代码】

我有一个应用程序,它在一个单独的进程中运行远程服务:<service android:name=".MyService" android:process=":remote"/>我也在使用Application类:<application android:label="@string/app_name" android:name=".MyApplication" ...我可以这样做吗?public class MyApplication extends Application {public MyApplication() {if (isRemoteService()) {setupLog("remoteservice.log");} else {setupLog("application.log");}}我想...

Android远程进程:messenger vs aidl?哪个更好?

我目前有一个远程服务,可以与同一个应用程序上的活动进行持续通信. 我需要在某些时候广泛地发送和发送消息.哪种消息传递方式更好,更快,更适合电池使用?使用消息或aidl接口? 截至目前我正在使用aidl接口,但由于某种原因,我认为在附加监听器时会有很多开销…… 任何反馈都非常感谢.解决方法:I currently have a remote service that communicates constantly with an activity on the same app.远程服务通常不是一个好主意.Well, m...

android – 为什么我的进程总是显示在DDMS进程列表中?

使用DDMS,我看到我的Android中有3个进程处于活动状态:Viber,logitech和声以及带有我的包名称的进程.问题是我从未创造任何过程. 为什么Android代表我开了一个流程?出于什么目的? 另外,为什么我不能看到所有其他应用程序的进程,例如gmail,地图等,即使它们位于前台? 一些想法:我确实使用FileObserver来监听文件夹更改.也许这就是事情?也许这与在开发环境中运行应用程序有关?解决方法:Why have Android opened a process on my ...

在AndroidManifest中注册的BroadcastReceiver可以在应用程序进程被终止时接收意图吗?

我有一个在AndroidManifest中注册的接收器,但似乎它在应用程序被杀时无法接收意图,假设我在Android进程生命周期中有一些误解? 谢谢你的帮助.解决方法:如果用户进入“设置”并强制停止您的应用程序,则在Android 3.1及更高版本上,您的BroadcastReceivers将不再起作用.当您的应用程序首次安装时,您将返回到您所处的状态 – 必须手动运行组件(例如,用户从主屏幕启动活动)才能再次使用BroadcastReceivers.

shell – 断开adb终端时如何在Android中继续运行进程?命令“nohup”未找到

我正在尝试分析手机随机重启的原因(见here).因此,我想记录logcat和内核消息,直到重新启动,即使在usb断开连接之后也能查看日志,这可能早于重启?! 所以我不断地将proc / kmsg和logcat复制到文件中.现在,当ADB断开连接时,这不需要停止.我已经尝试过nohup,disown,setsid,把它放在括号中.从this问题尝试了一切.但是在shell中找不到所有这些命令. 所以你有另一个命令或方法让我实现我想要的吗?我可以安装一些类似于屏幕的软件包/模块,...

Android:如果应用程序进程被杀死,动态注册的广播接收器将被激活

据我所知,静态注册(通过清单)广播接收器将在广播被激活时被激活,它不需要应用程序进程正在运行.但是动态注册的呢?解决方法:AFAIK,即使您的应用程序已关闭,销毁或被杀,您也可以使您的广播接收器可以在后台运行. 如果你想做一个以上,你不应该通过registerReceiver()注册它.通过元素在清单中注册它.然后,无论您的应用程序是否正在运行,它都可用. 如果您希望广播接收器在应用程序关闭,销毁或终止时被杀死或停止,还有一个选项. 你应该在...

android – 进程已完成退出代码1:未知的AVD名称

我尝试运行模拟器时弹出以下错误:Emulator: emulator: ERROR: Unknown AVD name [Nexus_5X_API_27], use-list-avds to see valid list. Emulator: Process finished with exit code 1鉴于我刚刚创建了avd,你能帮我理解为什么它找不到它以及如何解决这个问题? 提前致谢解决方法:无论AVD如何,我都遇到了同样的问题.我太新了,无法理解为什么,但似乎Android Studio在两个位置创建了/.android/avd目录: > /root/.android/avd> /home/...