取消来电显示

作者关闭手机来电显示功能后,虽然节省了一笔费用,但也因此遭受朋友们的小气、吝啬等评价。在反思中,作者思考这是否意味着自己被世界所忽略,并探讨了这种做法背后的原因。
[size=medium] 本来以为平常没有什么人给自己打电话,为了节约我关闭了手机的来电显示。然而并不是很多人都认同这样做。
弟弟打电话给我,我连问了两次你是谁,结果被说小气鬼。
吃饭的时候,跟同学说起这件事,他们都说来电显示很重要,如果关闭会错失很多重要的电话。而我的理由是如果很重要的话,那么对方对再打过来,通常情况下,不会一直都错过,更何况很少陌生人给我电话,如果是自己熟悉的,接电话之后就能分辨是谁。至于自己取消来电显示,我是觉得一个月6块钱在我这里十足的被浪费了。所以在取消之后,我日子正常,只是偶尔会被友人说小气、吝啬。
一直都觉得这样没什么,有天晚上我突然觉得自己这么久都没有错过谁的重要电话,难道我被这个世界忽略了?也许每个人都会有这么一段时间,在这段时间里,你就是一个小小的你,很少人会在注意你,很少人会打电话你,即使是问候下。我也曾考虑过,是否自己的交际圈子小了的缘故?还是自己某天开始就变得内向?不得而知。[/size]
根据提供的引用内容,Android Studio本身并不能实现来电位置实时显示的功能。不过,你可以通过在应用中集成相关的API来实现该功能。具体来说,你可以使用Android TelephonyManager API来获取来电信息,使用Android Location API来获取设备位置信息,然后将这些信息结合起来在应用中实现来电位置实时显示的功能。 以下是一个简单的示例代码,演示如何使用TelephonyManager API获取来电信息和使用Location API获取设备位置信息: ```java import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.support.v4.app.ActivityCompat; import android.support.v7.app.AppCompatActivity; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView mLocationTextView; private TelephonyManager mTelephonyManager; private PhoneStateListener mPhoneStateListener; private LocationManager mLocationManager; private LocationListener mLocationListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLocationTextView = (TextView) findViewById(R.id.location_text_view); // 获取TelephonyManager实例 mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); // 创建PhoneStateListener实例 mPhoneStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); // 当来电状态为响铃或接听时,获取来电位置信息并显示在TextView中 if (state == TelephonyManager.CALL_STATE_RINGING || state == TelephonyManager.CALL_STATE_OFFHOOK) { String location = getLocation(); mLocationTextView.setText(location); } } }; // 注册PhoneStateListener mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); // 获取LocationManager实例 mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // 创建LocationListener实例 mLocationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { // 当设备位置发生变化时,更新TextView中的位置信息 String locationStr = "Latitude: " + location.getLatitude() + "\nLongitude: " + location.getLongitude(); mLocationTextView.setText(locationStr); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } }; // 检查是否已经获取了定位权限 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // 如果没有定位权限,则请求权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 0); } else { // 如果已经获取了定位权限,则注册LocationListener mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationListener); } } @Override protected void onDestroy() { super.onDestroy(); // 取消注册PhoneStateListener和LocationListener mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); mLocationManager.removeUpdates(mLocationListener); } // 获取来电位置信息的方法 private String getLocation() { String locationStr = "Unknown"; // 检查是否已经获取了定位权限 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // 如果没有定位权限,则返回Unknown return locationStr; } // 获取最近一次的设备位置信息 Location location = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); if (location != null) { // 如果获取到了设备位置信息,则返回位置信息字符串 locationStr = "Latitude: " + location.getLatitude() + "\nLongitude: " + location.getLongitude(); } return locationStr; } } ``` 请注意,上述代码仅仅是一个示例,实际上你需要根据具体的需求和场景来编写代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值