在安卓系统中获取我正在呼叫的号码
我需要以编程方式从Android设备中获取我正在调用的号码.我现在正在做的是以下内容: 我听android.intent.action.PHONE_STATE被广播,这意味着我被打电话或正在打电话(或接收短信等). 在BroadcastReceiver中,我从意图中检索了额外的incoming_number.可悲的是,如果 i 启动呼叫,我无法获得被称为的数字.我该怎么做? 解决方案 您需要在此意图中使用意图android.intent.action.NEW_OUTGOING_CALL您可以获得包含传出号码的额外Intent.EXTRA_PHONE_NUMBER. 如果开出新的呼叫,则会发出意图. 您将需要许可android.permission.PROCESS_OUTGOING_CALLS. 希望会有所帮助. 其他解决方案 @Override public void onReceive(Context context, Intent int
0 2023-05-25
编程技术问答社区
我没有得到呼出的电话号码,在模拟器和真实的手机上都是空的。
call.java: public class Call extends Activity{ boolean timerhasstarted; Intent callIntent; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); call(); } void call() { String num="7829893070"; callIntent=new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.parse("tel:"+num)); if(!timerhasstarted) {
0 2023-05-25
编程技术问答社区
安卓-如何检测外拨电话是否被接听或接收?
是否有任何方法可以成功接收或接听呼叫?我正在使用Intent.ACTION_CALL拨打呼叫,PhoneCallListener在接听电话时找到呼叫的状态,但我无法实现这一目标.这是可以在Android中吗? 解决方案 在解决这个问题之后,我得出了这个结论: PhoneStateListener不适用于传出电话,它呼叫OFFHOOK而不是RINGING和OFFHOOK从未被调用. 使用NotificationListenerService,您可以收听与呼叫有关的已发布的通知.您可以做类似以下代码的操作.这里的问题是我 无法从某些三星手机 获得通知文本,而且文本本身可能会从一部手机变为另一个手机. 也需要API 18及以上 . public class NotificationListener extends NotificationListenerService { private String TAG = this.getClass().getSim
2 2023-05-25
编程技术问答社区
如何在通话开始时播放音频文件?
我正在从我的应用程序中发出语音通话.现在,我希望当另一侧的用户接听电话时,我想播放一个录制的音频文件. 如何解决这个问题?请帮助! 解决方案 我找到了一个解决方法.当电话状态更改为TelephonyManager.CALL_STATE_OFFHOOK 时,我在设备的扬声器上播放一个音频文件 这确保对方的用户可以听到录音. 其他解决方案 用简单明了的单词您无法在传入的呼叫上流式传输任何声音
0 2023-05-25
编程技术问答社区
如何在广播接收机的帮助下检测来电?
我试图通过广播接收器识别来电.我无法做到!实际上,我无法"触发"广播! 这是我的代码: activate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(),"Clicked",1).show(); final String BROADCAST_ACTION_NAME = ".BroadcastMM"; Intent intent = new Intent(); intent.setAction(BROADCAST_ACTION_NAME);
0 2023-05-25
编程技术问答社区
检测呼出的电话,与真实设备的问题
我有一个奇怪的问题.为了检测传出电话,我已经注册了android.intent.action.PHONE_STATE的广播接收器.当状态变得脱钩时,开始对话.似乎在模拟器上工作:调试器实际上在不适用于真实设备(Acer Liquid)的情况下达到了一些代码.有可能吗? 哪种方法是检测传出电话的方法? 解决方案 好吧,如果它在模拟器上起作用,我希望它可以在设备上使用.您可以通过listen()在TelephonyManager上注册PhoneStateListener,看看它是否可以获得更好的结果. 如果您想到它,请通过测试结果对此答案发表评论.
0 2023-05-25
编程技术问答社区
在安卓系统中检测用户接听来电的结束情况? (不拒绝)
在我的Android应用程序中,我创建了一个检测传入呼叫的​​BroadcastReceiver;我的代码运行良好.如果有传入的呼叫(EXTRA_STATE_RINGING),我可以在Logcat中看到我的IncommingNumber,当用户接听电话(EXTRA_STATE_OFFHOOK) 时 我使用shared preferences将传入号码(字符串)存储在铃声状态下,然后将其处于钩状状态. 这是我的代码,它可以很好地工作: public class IncomingCallReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String incomingNumber = null ; if (intent.getStringExtra(Teleph
0 2023-05-25
编程技术问答社区
安卓系统。在通话中呈现通知?
我有一个广播接收器,可以听到来电.我想调整来电屏幕.现在,我可以介绍烤面包并在通知栏中添加通知(顺便说一句,用户无法将其拉下来,因为屏幕已锁定,在接受呼叫之前,哪个很烂).我试图显示警报,但崩溃了 - 不允许吗?广播接收器中的代码有没有办法做其他事情,例如更改呼叫者的头像或给它一个名称(即使在联系人中不存在).我们只说我的广播接收器截止了一个呼叫 - 它可以在联系人中添加电话号码和自定义化身,以便立即在呼叫屏幕上呈现它们吗? 您怎么看? 编辑 我已经测试了供应商的代码,并且可以使用,但是从背景线程更改UI并不安全,因此我尝试对其代码进行一些调整以使其线程安全,但是某些吐司并没有出现敬意原因.你怎么认为? private Handler handler = new Handler(); private void showToast() { Thread thread = new Thread(null, doBackgroundThrea
0 2023-05-25
编程技术问答社区
追踪一个电话的持续时间
是否可以通过其手机提供商使用用户电话并跟踪电话的长度? 因此,用户按应用程序"立即调用"中的按钮.通话开始预定的号码.我们记录开始时间.呼叫结束时,我们计算使用多少分钟. 可能? 解决方案 要计算传入的时间,即传出电话使用以下广播接收器: public class CallDurationReceiver extends BroadcastReceiver { static boolean flag = false; static long start_time, end_time; @Override public void onReceive(Context arg0, Intent intent) { String action = intent.getAction(); if (action.equalsIgnoreCase("android.intent.action.PHONE_ST
0 2023-05-25
编程技术问答社区
如何在安卓应用开发中阻止手机号码的呼叫和信息接收?
我想实施一个用于接收或发送呼叫和消息的手机号码的应用程序.在我的应用程序中,我正在以EditText框输入手机号码,然后点击一个按钮,以阻止用户输入的手机号码. 我已经实施了一个活动类,如下所示: public class BlockNumberActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ((Button)findViewById(R.id.block)).setOnClickListener(new OnClickListener() {
0 2023-05-25
编程技术问答社区
如何检查一个BroadCast发送者是否有自定义的发送权限
我有一个从广播开始的应用程序的插件.我已经设法添加了自定义权限,因此只有具有权限的应用程序才能接收广播. 但是,我不知道如何实现更重要的部分:如果发件人有自定义许可,我该如何检查,因此只有我的主应用可以发送广播? 我知道这是可能的,但我不知道该怎么做. 谢谢! 解决方案 尝试使用: Context ctx = ...; int result = ctx.checkCallingPermission("your.permission.goes.here"); if (PackageManager.PERMISSION_GRANTED == result) { // Do your stuff here } 在您的广播接收器中.或在您定义接收器的androidManifest.xml中声明许可.
0 2023-05-25
编程技术问答社区
权限拒绝 , 即使在清单中添加了正确的权限
我正在开发一个倾听传入SMS的应用程序.我添加了权限: 我的应用程序清单.是的,它不在接收器标签内. 我试图通过将SMS从一个模拟器发送到另一个模拟器来测试应用程序.我的logcat获取以下条目: WARN/ActivityManager(66): Permission Denial: receiving Intent { act=android.provider.Telephony.SMS_RECEIVED (has extras) } to com.android.LUC requires android.permission.RECEIVE_SMS due to sender com.android.phone (uid 1001) 怪异的部分是,当我在运行Android 3.2上测试该应用时,它可以正常工作! 应用清单
2 2023-05-25
编程技术问答社区
安卓usb枚举
我正在编写一个Android USB主机应用程序,我正在尝试列举与平板电脑连接的设备.我遵循开发人员网站中Android USB主机文档中的代码. 我的代码如下 androidusbactivity public class AndroidUSBActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); USBClass usb = new USBClass(); ArrayList deviceList = usb.GetUSBDevices(getBaseContext()
2 2023-05-25
编程技术问答社区
READ_PRIVILEGED_PHONE_STATE权限错误
我创建了一个应用程序,该应用程序可监视调用(即将传出和外向),并且在手机响起的时间,它显示了有关该号码的详细信息. 传入的呼叫一切都很好,但是当用户进行呼叫应用程序崩溃时,此错误: 05-14 23:14:36.376 1427-1475/? W/BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.PHONE_STATE flg=0x10 (has extras) } to ir.apptune.antispam/.CallReceiver requires android.permission.READ_PRIVILEGED_PHONE_STATE due to sender android (uid 1000) 这是我使用的有关SDK版本的详细信息: minSdkVersion 14 targetSdkVersion 22 versionCode 1 versi
66 2023-05-25
编程技术问答社区
用广播接收机拒绝许可
我正在尝试创建一个应用程序,该应用在我拨打呼叫时输入日志消息. 但是,当我运行代码时,尽管我已经进入了权限. 拒绝日志: " 09-04 02:35:50.535 1294-1666/?w/broadcastqueue:许可拒绝:接收意图{act = android.intent.intent.inew_outogation.new_outonogento douncon_call flg = 0x10000010(有额外) . 清单代码: android:versionCode="1" android:versionName=
2 2023-05-25
编程技术问答社区
安卓许可拒绝:广播意图
我真的不知道怎么了,但是我的窗口小部件是由系统通过" appwidget_update"更新的,它会在异常出现.我尝试了几件事,导出了接收器(true/fals),我在模拟器和真实手机上尝试了它,但是它是相同的.我添加了几个intent-filters,但它不起作用. 11-06 20:10:10.279: W/ActivityManager(61): Permission denied: checkComponentPermission() reqUid=1000 11-06 20:10:10.279: W/ActivityManager(61): Permission Denial: broadcasting Intent { act=android.appwidget.action.APPWIDGET_UPDATE (has extras) } from com.ency.easychange (pid=1196, uid=10034) requires null due t
0 2023-05-25
编程技术问答社区
在Android中处理解析推送通知
我正在使用Parse API来处理推送通知.在我们的Android应用程序中,我想完成两件事: 1)如果我们收到了关闭应用程序的推送通知,并且用户点击通知,我希望能够理解该应用程序正在通过推送通知打开. 2)如果我们在打开申请时会收到推送通知,我想处理此操作并做一些额外的工作. 在这两种情况下,我都想知道该应用程序已收到推送通知以执行一些特殊操作. 据我从Parse API文档中了解到,它提供了两种处理推动的方法:通过活动做出响应并意图做出响应.我目前正在打电话 PushService.setDefaultPushCallback(context, MainActivity.class); 在我的应用程序类中,在AndroidManifest.xml文件中具有所需的更改,并且已经接收了推送通知,这对应于使用活动方法响应.但是我不知道该方法如何意识到推送通知. 预先感谢. 解决方案 收到推动时,检查 1:我们的应用是在前景还是背景.
0 2023-05-20
编程技术问答社区