相关疑难解决方法(0)

Android BroadcastReceiver,重启设备后自动运行服务

您好我正在编写一个应用程序,即手机重启时,该服务将自动启动而不是单击该应用程序.

这是我的代码

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)

service android reboot manifest broadcastreceiver

32
推荐指数
3
解决办法
6万
查看次数

TelephonyManager.getLine1Number()失败了吗?

我想获得Android设备的电话号码.我用这个代码:

TelephonyManager tm = (TelephonyManager)this.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); 
String phoneNumber=  tm.getLine1Number();
Run Code Online (Sandbox Code Playgroud)

在我的手机上(HTC Wildfire),我无法获得电话号码 - 我得到的只是空字符串.如果我在emulatur上运行代码,通常会显示电话号码.

如果我转到设置=>关于电话=>电话身份 - >电话号码,电话号码是"未知".

问题出在哪儿?我的SIM卡有问题吗?

android phone-number

30
推荐指数
3
解决办法
3万
查看次数

在Android中以编程方式获取电话号码

我正在使用代码

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 sim-card telephonymanager

12
推荐指数
1
解决办法
2万
查看次数

如何确定哪个SIM卡在双卡Android设备中收到短信

我正在开发一个项目,将Android手机中收到的短信同步到在线数据库.我可以通过调用getOriginatingAddress()方法获取发件人的号码.但我找不到任何解决方案来确定我的设备中的哪个SIM卡收到了短信.

我在网上搜索了它,但找不到解决这个问题的方法.有没有办法获得短信接收者的号码?

sms android telephonymanager

8
推荐指数
1
解决办法
9180
查看次数

如何为rest API唯一标识您的Android应用

有没有办法在Java代码中唯一标识我的Android应用程序?也许是包名和其他东西的某种组合?我知道有一种方法可以识别出独特的Android 设备,但这不是我想要的.

我希望能够唯一地识别我制作的 Android应用程序,以便我可以将该信息传递给我自己的私有RESTful API.这将允许我验证呼叫来自我的Android应用程序而不是另一个未经授权的应用程序.我希望我的RESTful API只能与我制作的应用程序一起使用,因此没有人可以欺骗它或未经授权访问它.

或者这是不可能的?我只是想知道像Snapchat这样的应用程序是如何拥有自己的登录信息的.显然有些东西可以保护它.

android restful-authentication

7
推荐指数
1
解决办法
1537
查看次数

在android中查找并整理所有短信/彩信

首先,我发现这个答案特别有用.然而,它让我想知道如何找到这样的信息.

我似乎无法弄清楚如何迭代收件箱中的所有邮件.我目前使用的解决方案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)

android android-contentprovider android-mms

4
推荐指数
2
解决办法
4246
查看次数

如何在Android中获取simCard号码

在我的应用程序中,我想从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)

java android

3
推荐指数
1
解决办法
1万
查看次数

如何使用kotlin语言以编程方式从Android中的SIM卡获取手机号码?

我尝试使用下面的一段代码,但它没有给我号码。你的信息会很有帮助。

代码如下:

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 kotlin

1
推荐指数
1
解决办法
6991
查看次数