所以我可能是你想到的最适合Android开发的新手。我掌握了编程的基本知识,基本上通过观看我制作应用程序的YouTube视频,您可以在mainActivity.java
屏幕上显示您的位置。现在我希望该应用程序在我拨打号码时打开,即使我重启设备后也希望它能正常工作。我查了很多教程,很难让我理解并了解它是如何工作的。所以我需要特别的东西,例如专门将代码放在AndroidManifest.xml
中和/或专门用于在主类中放置内容的地方,或者如果我必须创建一个新类。对不起,如果我要挑剔。谢谢!
答案 0 :(得分:0)
Android应用使用Intents
,Intent Filters
和Broadcast Receivers
的组合来侦听外部事件,您应该阅读更多相关信息browser support for CSS filter。
特别针对您的使用案例,您需要收听一个名为NEW_OUTGOING_CALL
的事件,当用户拨打新电话时,该事件由Android系统广播。
为此,您必须注册您的应用程序以收听此特定事件并创建一个BroadcastReceiver类来处理它。
您的广播接收器看起来有点像这样:
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.d("OutgoingCallReceiver",phonenumber);
Log.d("OutgoingCallReceiver",intent.getExtras().toString());
}
}
你的Manifest必须声明这个接收器并注册它收听的事件:
<receiver android:name="MyReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
由于handlig电话可能很危险,您还需要注册您的应用Manifest以使用新的权限:
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
您可以详细了解here。