我可以通过以下代码拨打一般电话号码:
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("tel:" + phoneNumber));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在清单文件中,我添加如下权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.CALL_PRIVILEGED"/>
Run Code Online (Sandbox Code Playgroud)
正如android的doc解释CALL_PRIVILEGED这样:允许应用程序拨打任何电话号码,包括紧急号码,而无需通过Dialer用户界面让用户确认正在拨打的电话.不供第三方应用程序使用.
我的应用程序位于软件包/应用程序中,因此它不是第三方应用程序,对吧?那么,为什么每次拨打"112"这样的紧急号码时,我仍然直接拨打拨号盘而不是拨号用户界面?
我安装了一个apk,它保存在/data/data/package_name/files以下代码的目录中:
Uri uri = Uri.fromFile(new File(apkSavingPath));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri,"application/vnd.android.package-archive");
mContext.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我希望它返回一个结果代码来告诉我apk是否安装成功,并且我已经尝试了方法startActivityForResult,但它没有用.
在方法上onActivityResult,它的resultCode始终0(zero)是否成功安装了apk.我能得到这样的结果代码吗?
我安装了最新版本的Android SDK,并使用SDK工具修订版20.0.3,然后我双击'draw9patch.bat',我希望它能给我看一个UI,不幸的是,bat文件刚刚运行闪过,是吗没有显示UI.然后我尝试双击'hierarchyviewer.bat',程序也没有显示UI.我不知道为什么,我可以从互联网上找到解决这个问题的方法,所以我求助于你们的帮助.
现在有些事让我感到困惑.在该文件中,我看到下面的代码this.xCenter = options.xPos;可是,我找不到地方定义xCenter的this对象.然后我添加一行this.myattr = 12;,令我惊讶的是,代码正常运行并没有显示任何错误.在我知道运行结果之前,我认为代码应该运行不成功,因为this没有定义属性myattr,所以我很困惑.这与Java的语法完全不同.反过来,我认为这是一种为对象定义/添加属性的方式,我的假设正确,或者只是代码意味着别的东西,伙计们?