小编roy*_*rek的帖子

哪里可以找到Android的"服务调用"shell命令的信息?

adb shell在设备上使用或终端仿真器,输入此将清除所有通知(要求su)

service call notification 1
Run Code Online (Sandbox Code Playgroud)

这将发送短信(不需要su)

service call isms 5 s16 "PhoneNumber" i32 0 i32 0 s16 "BodyText"
Run Code Online (Sandbox Code Playgroud)

我在哪里可以了解更多信息service call?我发现了这个问题,并理解答案是关于一切意味着什么.但是我在哪里可以找到notification 2可能试图调用的方法的信息?

运行service call不完整并打印此用法:

Usage: service [-h|-?]
       service list
       service check SERVICE
       service call SERVICE CODE [i32 INT | s16 STR] ...
Options:
   i32: Write the integer INT into the send parcel.
   s16: Write the UTF-16 string STR into the send parcel.
Run Code Online (Sandbox Code Playgroud)

我跑了service list,它为我的设备提供了78个服务,包括isms …

shell service android adb

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

PyQT:如何打开新窗口

首先,之前已经回答了类似的问题,但我需要一些帮助.

我有一个窗口,其中包含一个按钮(第一类),我想按下,第二个空白窗口出现(第二类).

我摆弄了从这个问题复制的代码:点击打开新窗口的PyQT,我写了这段代码:

# -*- coding: utf-8 -*-

from PyQt4 import QtGui, QtCore
import sys
import design1, design2

class Second(QtGui.QMainWindow, design2.Ui_MainWindow):
    def __init__(self, parent=None):
        super(Second, self).__init__(parent)
        self.setupUi(self)

class First(QtGui.QMainWindow, design1.Ui_MainWindow):
    def __init__(self, parent=None):
        super(First, self).__init__(parent)
        self.setupUi(self)

        self.pushButton.clicked.connect(self.on_pushButton_clicked)
        self.dialog = Second(self)

    def on_pushButton_clicked(self):
        self.dialog.exec_()

def main():
    app = QtGui.QApplication(sys.argv)
    main = First()
    main.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()  
Run Code Online (Sandbox Code Playgroud)

但是on_pressed,会出现以下错误消息:

AttributeError: 'Second' object has no attribute 'exec_'
Run Code Online (Sandbox Code Playgroud)

(design1和design2来自Qt设计师.)

任何想法将不胜感激.

python pyqt pyqt4

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

如果删除了服务启动的活动,则不会调用onTaskRemoved

我正在使用oreo 8.1.0.我正面临一个奇怪的问题,我在stackoverflow上找不到解决方案,因此我正在写这个问题.我知道一个解决方案,通过前台服务,我可以实现它,但我没有在我的应用程序上下文中找到用户友好的通知.

我将用两种情况描述我的问题.

案例1:当用户通过单击图标打开我的应用程序并将其从最近的应用程序中删除时,服务会自动重新启动.这可以.

案例2:我的应用程序已关闭,不在最近的应用程序中.当用户复制文本时,我的服务会启动我的应用程序的某个活动,但是当他从最近的应用程序中删除它时,我的服务将永久停止.

所以我的问题在于第二种情况,我不希望我的服务被杀死.即使它被杀死我想让它重新启动.

我尝试了stackoverflow上提到的所有方法,比如使用START_STICKY和onTaskRemoved,但我无法使其工作.

甚至我试图在用户点击最近的应用程序按钮并以编程方式从最近的应用程序中删除它时杀死我的活动,但这也无效.虽然这会在第二种情况下重新启动服务,当用户使用后退按钮杀死我的应用程序时.

这部分代码来自用户复制某些文本时打开的活动.

@Override
public void finish() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        super.finishAndRemoveTask();
    } else {
        super.finish();
    }

}
Run Code Online (Sandbox Code Playgroud)

这部分代码来自启动活动的服务.

@Override
public void onTaskRemoved(Intent rootIntent){
    Log.d("testing 12","onTaskRemoved");
    Intent restartServiceTask = new Intent(getApplicationContext(),CBWatcherService.class);
    restartServiceTask.setPackage(getPackageName());
    PendingIntent restartPendingIntent =PendingIntent.getService(getApplicationContext(), 1,restartServiceTask, PendingIntent.FLAG_ONE_SHOT);
    AlarmManager myAlarmService = (AlarmManager) getApplicationContext().getSystemService(this.ALARM_SERVICE);
    myAlarmService.set(
            AlarmManager.ELAPSED_REALTIME,
            SystemClock.elapsedRealtime() + 1000,
            restartPendingIntent);

    super.onTaskRemoved(rootIntent);
}

@Override
public int onStartCommand(Intent intent,int flag,int startId){
    super.onStartCommand(intent, flag, startId);
    return START_STICKY;

}
Run Code Online (Sandbox Code Playgroud)

编辑1
我只是需要服务才能保持活力.这些事情不会妨碍我的应用案例中的用户体验
1.当调用onPause以便服务不被杀时,可以自行杀死活动是可以接受的它发生
2.显示几秒钟的通知是可以接受的
3.重新启动服务是可以接受的

java service android

10
推荐指数
1
解决办法
785
查看次数

QTableWidget 强制选择单个项目

在 PyQt 中,如何强制 aQTableWidget仅接受单个部分(以便您无法使用Shift或选择更多项目crtl)?

python pyqt qtgui qtablewidget pyside

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

如何将文本对齐到QTableWidget中的单元格中心

我正在使用基于Qt4的PyQt。我的编辑器是PyCharm 2017.3,我的python版本是3.4。我正在从网站上抓取一些文字。我试图将文本与QTableWidget中单元格的中心对齐。

item = QTableWidgetItem(scraped_age).setTextAlignment(Qt.AlignHCenter)
self.tableWidget.setItem(x, 2,item)
Run Code Online (Sandbox Code Playgroud)

因此,在将项目放入单元格时,我正在尝试根据文档进行对齐。问题是没有显示数据。

QtableWidget的一部分,其中没有显示数据

当我删除setTextAlignment方法时,它确实显示了,如下所示

item = QTableWidgetItem(scraped_age)
self.tableWidget.setItem(x, 2,item)
Run Code Online (Sandbox Code Playgroud)

我的QtableWidget的一部分

python pyqt alignment pyqt4 qtablewidget

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

AttributeError:“builtin_function_or_method”对象没有属性“connect”

我正在使用基于 PyQt4 的 PyQt。我使用的是 PyCharm 2017.3。我的python版本是3.4。
我正在尝试连接当我们单击鼠标从 QLineEdit 捕获内容时收到的信号。

class HelloWorld(QMainWindow, tD_ui.Ui_MainWindow):

    # defining constructor
    def __init__(self):

        QMainWindow.__init__(self)

        self.setupUi(self)
        self.getContent()
        self.putValues()
        self.setWindowTitle("Downloader")
        self.pushButton.mousePressEvent.connect(self.getContent)
Run Code Online (Sandbox Code Playgroud)


所以当我运行代码时,出现以下错误

Traceback (most recent call last):
  File "C:/Project/Downloader/Implement.py", line 113, in <module>
    helloworld = HelloWorld()
  File "C:/Project/Downloader/Implement.py", line 18, in __init__
    self.pushButton.mousePressEvent.connect(self.getContent)
AttributeError: 'builtin_function_or_method' object has no attribute 'connect' 
Run Code Online (Sandbox Code Playgroud)

PS->请尽量避免解决方案中的遗留代码

python pyqt pyqt4 qt-signals qt-slot

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

Set.constructor`alert\x28document.domain\x29```含义

我在学习 XSS 时发现了这种在浏览器中有效的语法。谁能告诉我为什么它会详细执行。

Set.constructor`alert\x28document.domain\x29```
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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