Java 用android打电话
我想知道如何在不使用意图的情况下在android中拨打电话 我知道这可以通过意图来完成,但我搜索了一遍,没有关于这个主题的内容 假设我想为android编写一个新的拨号程序。我该怎么做Java 用android打电话,java,android,Java,Android,我想知道如何在不使用意图的情况下在android中拨打电话 我知道这可以通过意图来完成,但我搜索了一遍,没有关于这个主题的内容 假设我想为android编写一个新的拨号程序。我该怎么做 提前感谢您打电话, private void performDial(String numberString) { if (!numberString.equals("")) { Uri number = Uri.parse("tel:" + numberString); Intent dial =
提前感谢您打电话,
private void performDial(String numberString) {
if (!numberString.equals("")) {
Uri number = Uri.parse("tel:" + numberString);
Intent dial = new Intent(Intent.ACTION_CALL, number);
startActivity(dial);
}
}
将此权限添加到清单中。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
将这些添加到清单中
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name=.OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
注意:
上面的示例生成了一个具有黑色背景布局的视图,其尺寸如上所示。
您有权在此视图中添加任何布局。
例如,要在视图中包含布局,可以修改上述代码以包含以下代码
ly1 = new LinearLayout(getApplicationContext());
ly1.setOrientation(LinearLayout.HORIZONTAL);
View hiddenInfo = getLayoutInflater().inflate(R.layout.layout1, ly1, false);
ly1.addView(hiddenInfo);
wm.addView(ly1, params1);
在清单中,您需要包括以下权限。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
我不确定您的自定义GUI是否总是位于默认GUI之上,因为系统广播接收器和接收器都试图在屏幕顶部显示其GUI。我们不确定先调用哪一个,但要使GUI位于屏幕顶部,一项棘手的工作是在手机铃声响起1-2秒后调用您的活动。为此,我使用了处理程序。来拨打电话,
private void performDial(String numberString) {
if (!numberString.equals("")) {
Uri number = Uri.parse("tel:" + numberString);
Intent dial = new Intent(Intent.ACTION_CALL, number);
startActivity(dial);
}
}
将此权限添加到清单中。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
将这些添加到清单中
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name=.OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
注意:
上面的示例生成了一个具有黑色背景布局的视图,其尺寸如上所示。
您有权在此视图中添加任何布局。
例如,要在视图中包含布局,可以修改上述代码以包含以下代码
ly1 = new LinearLayout(getApplicationContext());
ly1.setOrientation(LinearLayout.HORIZONTAL);
View hiddenInfo = getLayoutInflater().inflate(R.layout.layout1, ly1, false);
ly1.addView(hiddenInfo);
wm.addView(ly1, params1);
在清单中,您需要包括以下权限。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
我不确定您的自定义GUI是否总是位于默认GUI之上,因为系统广播接收器和接收器都试图在屏幕顶部显示其GUI。我们不确定先调用哪一个,但要使GUI位于屏幕顶部,一项棘手的工作是在手机铃声响起1-2秒后调用您的活动。为此,我使用了处理程序。来拨打电话,
private void performDial(String numberString) {
if (!numberString.equals("")) {
Uri number = Uri.parse("tel:" + numberString);
Intent dial = new Intent(Intent.ACTION_CALL, number);
startActivity(dial);
}
}
将此权限添加到清单中。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
将这些添加到清单中
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name=.OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
注意:
上面的示例生成了一个具有黑色背景布局的视图,其尺寸如上所示。
您有权在此视图中添加任何布局。
例如,要在视图中包含布局,可以修改上述代码以包含以下代码
ly1 = new LinearLayout(getApplicationContext());
ly1.setOrientation(LinearLayout.HORIZONTAL);
View hiddenInfo = getLayoutInflater().inflate(R.layout.layout1, ly1, false);
ly1.addView(hiddenInfo);
wm.addView(ly1, params1);
在清单中,您需要包括以下权限。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
我不确定您的自定义GUI是否总是位于默认GUI之上,因为系统广播接收器和接收器都试图在屏幕顶部显示其GUI。我们不确定先调用哪一个,但要使GUI位于屏幕顶部,一项棘手的工作是在手机铃声响起1-2秒后调用您的活动。为此,我使用了处理程序。来拨打电话,
private void performDial(String numberString) {
if (!numberString.equals("")) {
Uri number = Uri.parse("tel:" + numberString);
Intent dial = new Intent(Intent.ACTION_CALL, number);
startActivity(dial);
}
}
将此权限添加到清单中。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
将这些添加到清单中
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name=.OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
注意:
上面的示例生成了一个具有黑色背景布局的视图,其尺寸如上所示。
您有权在此视图中添加任何布局。
例如,要在视图中包含布局,可以修改上述代码以包含以下代码
ly1 = new LinearLayout(getApplicationContext());
ly1.setOrientation(LinearLayout.HORIZONTAL);
View hiddenInfo = getLayoutInflater().inflate(R.layout.layout1, ly1, false);
ly1.addView(hiddenInfo);
wm.addView(ly1, params1);
在清单中,您需要包括以下权限。
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<action android:name="android.intent.action.PHONE_STATE" /
我不确定您的自定义GUI是否总是位于默认GUI之上,因为系统广播接收器和接收器都试图在屏幕顶部显示其GUI。我们不确定是哪一个先被调用,但要使您的GUI显示在屏幕上方,一个棘手的工作是当手机铃声响起时,在1-2秒后呼叫您的活动。为此,我使用了处理程序。不确定您是否可以,SMS和拨号程序之间的区别是,SMS可以通过fire and forget来完成,拨号必须是表示在完成之前一直运行的内容 通过这种方式,通过使用intent,您可以启动tactivityforresult以获取结果,而不是在等待方法返回时获取ANR 因此,您需要使用号码作为URI进行intent intent.ACTION\调用,然后启动活动。 您需要
参见示例不确定是否可以,SMS和拨号器之间的区别在于,SMS可以通过fire and forget来完成,拨号必须是表示在完成之前一直运行的内容 通过这种方式,通过使用intent,您可以启动tactivityforresult以获取结果,而不是在等待方法返回时获取ANR 因此,您需要使用号码作为URI进行intent intent.ACTION\调用,然后启动活动。 您需要
参见示例不确定是否可以,SMS和拨号器之间的区别在于,SMS可以通过fire and forget来完成,拨号必须是表示在完成之前一直运行的内容 通过这种方式,通过使用intent,您可以启动tactivityforresult以获取结果,而不是在等待方法返回时获取ANR 因此,您需要使用号码作为URI进行intent intent.ACTION\调用,然后启动活动。 您需要
参见示例不确定是否可以,SMS和拨号器之间的区别在于,SMS可以通过fire and forget来完成,拨号必须是表示在完成之前一直运行的内容 这样,通过使用intent,您可以启动TACTIVITYFRESULT以获得结果,而不是在等待结果时获得ANR