您好我正在编写一个应用程序,即手机重启时,该服务将自动启动而不是单击该应用程序.
这是我的代码
BootCompleteReceiver.java
package com.example.newbootservice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootCompleteReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, MsgPushService.class);
context.startService(service);
}
}
Run Code Online (Sandbox Code Playgroud)
MsgPushService.java
package com.example.newbootservice;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
public class MsgPushService extends Service {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
return Service.START_STICKY;
}
@Override
public void onDestroy() { …Run Code Online (Sandbox Code Playgroud) 我想获得Android设备的电话号码.我用这个代码:
TelephonyManager tm = (TelephonyManager)this.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber= tm.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
在我的手机上(HTC Wildfire),我无法获得电话号码 - 我得到的只是空字符串.如果我在emulatur上运行代码,通常会显示电话号码.
如果我转到设置=>关于电话=>电话身份 - >电话号码,电话号码是"未知".
问题出在哪儿?我的SIM卡有问题吗?
我正在使用代码
TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = tMgr.getLine1Number();
Run Code Online (Sandbox Code Playgroud)
在android中以编程方式获取手机.但这只适用于一张SIM卡.如果我通过插入其他SIM卡测试此代码,它是给予null.我试图找到解决方案.请帮我.我还包括了READ_PHONE_STATE许可Manifest.
我想要唯一识别SIM卡.有没有其他方法可以做到这一点.请告诉我.
我正在开发一个项目,将Android手机中收到的短信同步到在线数据库.我可以通过调用getOriginatingAddress()方法获取发件人的号码.但我找不到任何解决方案来确定我的设备中的哪个SIM卡收到了短信.
我在网上搜索了它,但找不到解决这个问题的方法.有没有办法获得短信接收者的号码?
有没有办法在Java代码中唯一标识我的Android应用程序?也许是包名和其他东西的某种组合?我知道有一种方法可以识别出独特的Android 设备,但这不是我想要的.
我希望能够唯一地识别我制作的 Android应用程序,以便我可以将该信息传递给我自己的私有RESTful API.这将允许我验证呼叫来自我的Android应用程序而不是另一个未经授权的应用程序.我希望我的RESTful API只能与我制作的应用程序一起使用,因此没有人可以欺骗它或未经授权访问它.
或者这是不可能的?我只是想知道像Snapchat这样的应用程序是如何拥有自己的登录信息的.显然有些东西可以保护它.
首先,我发现这个答案特别有用.然而,它让我想知道如何找到这样的信息.
我似乎无法弄清楚如何迭代收件箱中的所有邮件.我目前使用的解决方案Uri.parse("content://mms-sms/conversations")是使用"_id"和"ct_t".然而,似乎我只能在手机中找到三个对话,尽管有30个ms(其中20个在保存对话线程中,其他对话分为两个其他对话).对这样的陈述有意义content://mms-sms/conversations.但是,其他提供商似乎只处理短信或彩信.有没有办法以这种方式迭代整个消息列表,我"content://mms-sms/conversations"用其他东西替换?
public boolean refresh() {
final String[] proj = new String[]{"_id","ct_t"};
cursor = cr.query(Uri.parse("content://mms-sms/conversations"),proj,null,null,null);
if(!(cursor.moveToFirst())) {
empty = true;
cursor.close();
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我用下一个函数迭代消息
public boolean next() {
if(empty) {
cursor.close();
return false;
}
msgCnt = msgCnt + 1;
Msg msg;
String msgData = cursor.getString(cursor.getColumnIndex("ct_t"));
if("application/cnd.wap.multipart.related".equals(msgData)) {
msg = ParseMMS(cursor.getString(cursor.getColumnIndex("_id")));
} else {
msg = ParseSMS(cursor.getString(cursor.getColumnIndex("_id")));
}
if(!(cursor.moveToNext())) {
empty = true;
cursor.close();
return false;
}
return true; …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我想从sim 卡中获取电话号码并显示用户。
我写了下面的代码,但在模拟器中显示了 sim 卡号,但某些设备(如三星)不显示任何 sim 卡号。
清单代码:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Run Code Online (Sandbox Code Playgroud)
活动代码:
public class FetchSimActivity extends AppCompatActivity {
TextView fetchSimCardTxt, fetchNumCardTxt;
TelephonyManager tm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fetch_sim);
fetchSimCardTxt = findViewById(R.id.fetchSimCardTxt);
fetchNumCardTxt = findViewById(R.id.fetchNumCardTxt);
tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to …Run Code Online (Sandbox Code Playgroud) 我尝试使用下面的一段代码,但它没有给我号码。你的信息会很有帮助。
val subscription =SubscriptionManager.from(context).activeSubscriptionInfoList
for (subscriptionInfo in subscription)
{
val number = subscriptionInfo.number
Log.e("Test", " Number is " + number)
}
Run Code Online (Sandbox Code Playgroud) android ×8
android-mms ×1
java ×1
kotlin ×1
manifest ×1
phone-number ×1
reboot ×1
service ×1
sim-card ×1
sms ×1