我正在尝试实现自己的电话处理UI.
我想要做的是,如果有来电,则会显示来电号码和图片,如果按下按钮,则会接听/接听来电.
相关代码是:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
answerButton = (Button) findViewById(R.id.pickup);
answerButton.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
Intent intent = new Intent("android.intent.action.ANSWER");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
Run Code Online (Sandbox Code Playgroud)
可悲的是,代码不起作用.首先,如果按下我的答案按钮,则会抛出异常:
ActivityNotFoundException:找不到处理Intent的Activity {
act = android.intent.action.ANSWER
然后我在AndroidManifest.xml中添加了一个条目:
<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)
我再次运行应用程序,不再有例外.但是,我怀疑来电是不是真的被接受了.因为如果按下Android的屏幕应答按钮(绿色按钮),则接受来电并且仿真器屏幕的左上角也会显示绿色通话图标,而我的应用则不会.
我还在android源码中阅读了Phone应用程序的源代码.在Phone类中有诸如acceptCall()之类的方法.但是这些代码对我来说似乎很难使用,因为代码中有许多导入声明,例如:
import com.android.internal.telephony.Call;
import com.android.internal.telephony.CallStateException;
import com.android.internal.telephony.CallerInfo;
import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.internal.telephony.Connection;
import com.android.internal.telephony.MmiCode;
import com.android.internal.telephony.Phone;
Run Code Online (Sandbox Code Playgroud)
而且,如果我在代码中添加这些导入,则会出现太多错误,例如:
The import com.android.internal.telephony cannot be resolved.
什么是我的问题的正确和简单的方法?
这里发生了什么?
int zero = 0;
double x = 0;
object y = x;
Console.WriteLine(x.Equals(zero)); // True
Console.WriteLine(y.Equals(zero)); // False
Run Code Online (Sandbox Code Playgroud) 我希望能够读取文件,并替换以下所有实例:
带S1800的M9S1800.2(我想摆脱M9和.2).
我遇到的问题是"S"之后的4位数字每次都可能不同,以及小数点后的数字.
例如,
它可以是:M9S3200.1或M9S5400.1或M9S5400.2
有人可以告诉我如何用C#做到这一点?
我知道如何使用此代码查找和替换:
StreamReader reader = new StreamReader(fDialog.FileName.ToString());
string content = reader.ReadToEnd();
reader.Close();
content = Regex.Replace(content, "M2", "M3");
Run Code Online (Sandbox Code Playgroud)
但是使用M9S3200.1,我想做一个通配符类型替换.例如,将M9S*.1替换为S*,因此M9S3200.1将成为S3200.
我正在引用数组上的Javascript函数splice(),我得到错误:
"无法对非静态函数splice()进行静态引用"
发生了什么 - 这是一个静态引用,不是我引用一个Array类的实例及其方法 - 这是怎么样的静态?
$(document).ready( function() {
var queryPreds = new Array();
var queryObjs = new Array();
function remFromQuery(predicate) {
for(var i=0; i<arrayName.length;i++ ) {
if(queryPreds[i]==predicate)
queryPreds.splice(i,1);
queryObjs.splice(i,1);
}
}
}
Run Code Online (Sandbox Code Playgroud) 使用按钮创建对话框时:
buttons: {
'button text': function(){
// do something
},
Run Code Online (Sandbox Code Playgroud)
我是否可以访问click事件处理程序中的按钮?
$(this)
Run Code Online (Sandbox Code Playgroud)
是整个对话框的context/jQuery对象.
我怀疑我必须如此富有创造力
$(this).find('button').attr(...)
Run Code Online (Sandbox Code Playgroud)
禁用按钮吗?
可能重复:
Windows上的iPhone开发
我需要开发一个iPhone应用程序.我有Windows XP操作系统.如何在Windows XP中配置iOS开发环境?
我必须做这样的事情
string = " this is a good example to show"
search = array {this,good,show}
Run Code Online (Sandbox Code Playgroud)
找到并用像这样的标记替换它们
string = " {1} is a {2} example to {3}" (order is intact)
Run Code Online (Sandbox Code Playgroud)
字符串将经过一些处理然后
string = " {1} is a {2} numbers to {3}" (order is intact)
Run Code Online (Sandbox Code Playgroud)
令牌再次被替换回字符串likem,以便字符串变为
string = " this is a good number to show"
Run Code Online (Sandbox Code Playgroud)
如何确保模式匹配并替换相同的标记
例如/ [gG] ood /是一个搜索模式,稍后用适当的"case"替换.或者换句话说,如果^\s*[0-9] +.是匹配的字符串需要存储和替换的模式,以形成原始文本
如何实施以使流程以高性能完成?
提前致谢.
我正在经历其中一个主题.程序崩溃是因为它在函数内部声明了一个10 ^ 6的数组.
给出的原因是堆栈上的内存分配失败导致崩溃.
当全局声明相同的数组时,它运行良好.(堆上的内存保存了它).
现在,让我们假设,堆栈向下增长并向上堆积.
我们有:
现在,我相信如果堆栈上的分配失败,它也必须在堆上失败.
所以我的问题是:堆栈大小有限制吗?(超过限制导致程序崩溃).或者我错过了什么?
我知道如何更新我自己的程序,我知道如何使用预定义的Uri打开程序(例如短信或电子邮件)
我需要知道如何创建一个Intent来打开MyTracks或任何其他我不知道他们听什么意图的应用程序.
我从DDMS那里获得了这些信息,但我没有成功将其转化为我可以使用的Intent.这是在手动打开MyTracks时获取的.
谢谢你的帮助
05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] }
05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015}
05-06 11:22:26.995: INFO/ActivityManager(76): Displayed activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: 1996 ms (total 1996 ms)
Run Code Online (Sandbox Code Playgroud)