一、am start的内容的整理

主要包含以下内容:am start的常规操作及参数的含义,-d 参数的含义,以及如何在APK中设置参数获取

使用命令如下:adb shell am start -n com.test.myapp/.Activity.TestActivity -d '%s'

在python中具体调用的时候,会用""将内容全部包裹起来,然后再通过%变量去替换'%s'

例如:

cmd3 = "adb shell am start -n com.ganji.testwebview/.Activity.OriginalTestActivity -d '%s'" %url

这里-d就是用来传递给APP的参数,这个-d传递的就是intent的数据,

那么在APK中是如何接收这个-d后面的参数的呢?-d这个参数后面的内容就代表是通过Intent传递的:

具体语句为:urltext=getIntent().getDataString();

关于getIntent的一个具体用法,怎么获取不同类型的数据见下方地址:http://blog.csdn.net/flowingflying/article/details/9364799

具体的am start的一个详解地址如下:

二、python传递数据包含中文的问题以及特殊字符的问题

在通过adb shell将包含了&的url的内容传递给APK的时候,会出现无法跳转的情况,原因是在shell中&是一个特殊字符,因此要通过一个单引号'将&包裹起来,刚开始的时候,在一中的adb命令为:

adb shell am start -n com.test.myapp/.Activity.TestActivity -d %s

后来增加了'%s'

测试之后,发现增加了''单引号之后,url的整个内容都能够完整传递过去,但是这仅限于windows下,在linux下因为&是一个特殊符号,所以通过adb shell am start的方式启动Activity之后将url传递过去,会出现截取url的情况,比如说:https://baidu.com/1243&w3fs&jhre=12,就会截取url到第一个&那里,这样就会导致想要加载的url加载不全,那么得到的结果也不正确,因此针对这样的情况,而且因为存在&很容易出现am start失败的情况,经常Activity就启动失败,但是如果不带这个参数就基本不会失败,因此修改成了:

通过读取sdcrad中的文件,将内容设置成EditText的内容,那么这个sdcard中的内容就需要提前将本次url的内容先写入到文件中,再将这个包含url内容的文件push到sdcard中,通过这种方式修改后,就没有出现am start失败的情况了,而且url的内容能够显示完全,并且通过正确的url请求到正确的信息

备注:在往文件中写url的内容的时候,需要注意打开文件的方式,建议通过'wb'的二进制方式打开,之前通过'w'直接打开,存在中文及特殊字符的情况下,会导致因为编码方式的原因而提示异常导致失败,因此改成二进制的方式进行写文件

另外,就是url中存在中文的情况也会因为编码的方式导致出现问题,用了一个完全通用的方式进行处理:

import sys

reload(sys)

sys.setdefaultencoding('utf8')

因为使用的是python27,就在添加以上set语句之前先通过下方的语句测试了一下:

print sys.getdefaultencoding(),结果是ascii

加上以上语句之后:结果是utf8

其中utf-8和utf8的区别是什么呢?具体见下方url:http://blog.mimvp.com/2014/12/difference-between-python-utf-8-and-utf8/

python密码传参有特殊字符如何解决_am start的总结,-d参数的总结,以及python中传递内容包含中文及特殊字符的解决方案...相关推荐

  1. python密码传参有特殊字符如何解决_python生成带特殊字符的密码

    在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊字符的随机密码,也是很痛苦的事,如果让你敲10个这样的随机密 ...

  2. python密码传参有特殊字符如何解决_Python为什么我在RSA加密中有特殊字符

    您好我正在使用Pyzmq在 python中编写应用程序,用于PC客户端和覆盆子服务器之间的通信.我需要PC客户端将加密密码发送到raspberry服务器.我将发布我的代码的RSA部分,所以如果您需要更 ...

  3. python密码传参有特殊字符如何解决_无法在python selenium scrip中使用带有特殊字符“$”的密码...

    示例脚本:# -*- coding: utf-8 -*- from selenium import webdriver import os #credentials USERNAME = '##### ...

  4. python密码传参有特殊字符如何解决_如何通过请求Python packag传递密码中的特殊字符''...

    我已经在stackoverflow上看到过同样的问题,但没有找到任何有效的答案: 我使用Requests包连接到CISCO APIC控制器,通过restapi收集json/xml配置 除了用于连接AP ...

  5. assert函数_悉数Python函数传参的语法糖

    TIOBE排行榜是程序开发语言的流行使用程度的有效指标,对世界范围内开发语言的走势具有重要参考意义.随着数据挖掘.机器学习和人工智能相关概念的风行,Python一举收获2018年年度语言,这也是Pyt ...

  6. Python 函数传参详解

    Python位置传参 位置传参也称为必备参数,必须按照正确的顺序将参数传递到函数中,定义函数时的参数与实际传入的参数数量必须保持一致 正常如下: def par(A,B):return A+B pri ...

  7. python 元组传参 *args 字典传参 **kwargs 的用法

    python 元组传参 *args 字典传参 **kwargs 的用法 # 元组参数 def func_arg(*args):print("args:", args) func_a ...

  8. java调用python,传参json字符串,含中文传参

    java调用python,传参json字符串 python脚本内容(test.py) # -*- coding: utf-8 -*-def main(input):return input java调 ...

  9. python脚本传参

    在Linux环境调用python脚本,需要从外部传参,python提供了两种传参方式: 1.顺序传参 import sys 它封装了与python解释器相关的数据,在脚本里面使用使用参数的顺序必须和传 ...

最新文章

  1. error: unbound prefix. Message{kind=ERROR, text=error: unbound prefix., sources=[E:\work\me\fragment
  2. 背景图自适应屏幕居中显示,且不变形
  3. localStorage、sessionStorage、Cookie的区别及用法
  4. nodejs在cmd中运行js_如何在nodejs里调用执行系统命令
  5. View4.5测试参考文档7--View Administrator安装、配置、创建桌面池
  6. DCMTK:从DICOM封装的PDF存储对象中提取PDF文件
  7. Request load debugging - ERP side
  8. 推荐两个检索和分类小工具Carrot2 OSS
  9. 【转】SVN各种颜色状态
  10. 现在学SEO还有用吗;还能用到SEO吗;
  11. 自动驾驶 11-2: 激光雷达传感器模型和点云 LIDAR Sensor Models and Point Clouds
  12. 基本计算机编程术语,计算机编程术语,你记住了吗?
  13. 安卓手机作为文件共享服务器,安卓手机的文件共享应该怎么操作?
  14. 暧昧散场,穿过你的黑发我的手968
  15. 图像识别毕业设计 人脸识别与疲劳检测系统设计与实现 - python opencv
  16. Spring IOC和DI 的学习资料(附带大师英文文章)
  17. Eclipse安装STS
  18. matlab 解函数方程,MATLAB程序设计教程(7)—MATLAB解方程与函数极值
  19. python的书哪个好知乎_python书籍推荐 知乎红色有哪些
  20. html5 metro 手机,方块世界:Metro UI简单看

热门文章

  1. java内存泄漏与内存溢出
  2. 排序之快速排序(递归)
  3. C#代码实现矢量画图
  4. 2018.08.21随笔
  5. 深入理解jQuery中的Deferred
  6. 【转】iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
  7. PHP:函数赋参数默认初值
  8. Android开发如何去除标题栏title(转)
  9. 【数据结构】线段树(interval tree)
  10. 【转】PLI是什么以及怎么用