A. 安卓系统的双卡手机如何设置只开SIM1卡,SIM2卡完全关闭呢
以VIVO X20手机为例,设置方法如下:
一、打开手机,在手机的桌面上找到“设置”一项的图标,然后点击进入。
B. android 双卡双待 怎么判断是那个卡发送的短信
有二种方法:
一、智能机的短信一般是对话的形式,可以进设置--SIM卡管理--可以看到两个卡的前面的图标是什么颜色的,比如蓝色和红色,然后进如短信,可以看到对话的背景色,和卡的状态颜色对应。
二、短信右下角有区分的卡一和卡二的。
C. 安卓系统的双卡手机卡1和卡2如何设置不同的来电铃声或有无软件可以设置 [-
若使用的是vivo手机,可进入手机设置--声音(与振动)中设置SIM1或SIM2的来电铃声,同时也可以分别给两张卡设置不同的来信息铃声。
D. 安卓双卡手机,怎么看出是哪个号收到的短信
触屏手机,从手机顶往下拉,上面有的拿颜色代表,有的显示1和2,对应短信内容最下角的标注,就知道了。希望能帮到你
E. Android开发能获取双卡信息吗
官方文档上表示只能获取一个号码
Returns the phone number string for line 1, for example, the MSISDN for a GSM phone.
而且,获取电话号码这个需求不是很好,并不是所有android手机都能获取到号码的,最好让用户自己输入电话号码
F. 有没有安卓双卡双待的发短信软件给介绍两个
1、360安全通讯录
2、多趣短信
3、华为“天天聊2.2.12.08版”(千万勿升级)
4、GO短信4.56版
5、双卡双待短信通…
【注意】须在手机设置的“sim卡管理”里把“信息”设置为“总是询问”,才能实现双卡的选择,否则使用默认与单卡无异。“语音电话”同理。
1、建议在前面三个中选择,本人更倾向于第一个。360通讯录中支持双卡的短信模块很好用,短信背景可设置,通讯录本身也很不错,联系人名字下能显示号码及归属地、运营商(这点很多同类软件没有的),可智能搜索联系人,“编辑”选项丰富,一举多得。
2、多趣短信值得推荐,模板很多很炫,字体也可换,极投潮流人士所好,但要仔细琢磨设置。其自动把短信分为“联系人”、“陌生人”组且自动归类和显示“公众号码”,这个小功能很实用。注意在“设置-双卡双待-短信默认卡”里设置为“每次都询问”,才有双卡双待短信软件的意义。可能也正因为比较炫,此软件运行略嫌慢。
3、华为“天天聊2.2.12.08版”很简洁,输入框比较大,实在是大屏手机之福。但注意不要升级到新版,升级后多了很多垃圾功能,变得臃肿且输入框变窄,甚至没了双卡的选择。
4、GO短信胜在有N多主题可下载更换,设置项也很丰富,适合喜欢DIY的人士,但适配机型貌似有些问题(我的新机没有了卡1卡2的选项)。其最新版及“youni短信”也号称支持双卡,但粗浅测试了下,都往wei信方向走,加了很多没啥用的功能,搞得很臃肿,已经不是纯粹的短信软件了,不推荐。
5、双卡双待短信通测试了一下,非常不好用,发送以后看不到内容。此软件在应用汇中找得到,最近更新于5月15日。作者声明“当前只支持摩托罗拉双卡双待手机(其他机型将陆续支持)。”本次体验不佳不知是否与此有关,基本没法用,不推荐!!
这是我测试了3个以上的同类软件的体会。推荐【360安全通讯录】和多趣短信或华为“天天聊2.2.12.08版”(但不要升级,升级后没了卡1卡2的选择)。
最好的短信软件就该回归纯粹的短信功能,那种想让一个短信软件把什么活都干了的想法并不值得欣赏。
我两个手机里原装内置的也非常好用,可惜网上找不到。正在尝试看是否能导出来,然后看换到别的机型是否能用。实践后证明,该软件好用,但用豌豆荚导出后无法安装,用不了。
G. Android怎么判断是双卡双待
Android怎么判断是双卡双待的具体方法为:
1、Android平台是一个多样型的平台,不同的手机获取ITelephony接口不同,用一种方法实现双卡双待管理是不可取的。只有针对不同的手机分析出一套管理的方案,该方案实现难度大,因为需要各个厂家的SDK的资料。为了实现该功能,需要整合各个厂家的SDK的资料。
2、为了更好的管理双卡双待的问题,新建一个双卡双待模块静态库,其它项目引用便是,项目如图:
3、AbsSim是抽象类,负责实现手机操作的类。不同的厂家继承该类实现各自的接口。AbsSim信息如下:
public abstract class AbsSim implements IDualDetector { //抽象基类
protected final String TAG = getClass().getSimpleName();
protected ArrayList<SimSlot> mSimSlots = new ArrayList<SimSlot>();
protected boolean mIsDualSimPhone = false;
protected String mCallLogExtraField = "";
public abstract String getSimPhoneNumber(int paramInt); // 返回手机号码
public abstract int getDataState(int paramInt);// 返回数据状态
public abstract String getIMSI(int paramInt);// 返回手机标识
public abstract String getIMSI(int paramInt, Context paramContext);// 返回手机标识
public abstract int getPhoneState(int paramInt);// 返回手机状态
public abstract boolean isServiceAvaliable(int paramInt);// 服务是否可用
public abstract boolean isSimStateIsReady(int paramInt);// 卡是否在使用
public abstract int getSimOperator(int paramInt);// 服务商(电信、移动、联通)
protected abstract Object getITelephonyMSim(int paramInt);// 获取操作接口
protected abstract Object getMSimTelephonyManager(int paramInt);// 获取操作接口
}
4、这是利用java 反射机制操作Android隐藏的类,很好的解决了双卡双待的问题。
H. android开发中想获取双卡手机号码,两个号码的怎样获取
Android的官方文档是没有提供相应的Api的,因为标准的Andoird是没有双卡的,好像也只有国内才会搞双卡双待的神器吧。以下记录一下做这个功能所学习到的东西。直接上代码:
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.telephony.CellInfo;
import android.telephony.TelephonyManager;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity
{
private TextView tv;
private TextView tv2;
// ///////////////////////////////////
static String ISDOUBLE;
static String SIMCARD;
static String SIMCARD_1;
static String SIMCARD_2;
static boolean isDouble;
// //////////////////////////////////
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.text);
tv2 = (TextView) findViewById(R.id.text2);
tv2.setText("不知道哪个卡可用!");
getNumber();
}
private void getNumber()
{
TelephonyManager tm = (TelephonyManager) this.getSystemService(this.TELEPHONY_SERVICE);
String phoneNumber1 = tm.getLine1Number();
// String phoneNumber2 = tm.getGroupIdLevel1();
initIsDoubleTelephone(this);
if (isDouble)
{
// tv.setText("这是双卡手机!");
tv.setText("本机号码是:" + " " + phoneNumber1 + " " + "这是双卡手机!");
} else
{
// tv.setText("这是单卡手机");
tv.setText("本机号码是:" + " " + phoneNumber1 + " " + "这是单卡手机");
}
}
public void initIsDoubleTelephone(Context context)
{
isDouble = true;
Method method = null;
Object result_0 = null;
Object result_1 = null;
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
try
{
// 只要在反射getSimStateGemini 这个函数时报了错就是单卡手机(这是我自己的经验,不一定全正确)
method = TelephonyManager.class.getMethod("getSimStateGemini", new Class[]
{ int.class });
// 获取SIM卡1
result_0 = method.invoke(tm, new Object[]
{ new Integer(0) });
// 获取SIM卡2
result_1 = method.invoke(tm, new Object[]
{ new Integer(1) });
} catch (SecurityException e)
{
isDouble = false;
e.printStackTrace();
// System.out.println("1_ISSINGLETELEPHONE:"+e.toString());
} catch (NoSuchMethodException e)
{
isDouble = false;
e.printStackTrace();
// System.out.println("2_ISSINGLETELEPHONE:"+e.toString());
} catch (IllegalArgumentException e)
{
isDouble = false;
e.printStackTrace();
} catch (IllegalAccessException e)
{
isDouble = false;
e.printStackTrace();
} catch (InvocationTargetException e)
{
isDouble = false;
e.printStackTrace();
} catch (Exception e)
{
isDouble = false;
e.printStackTrace();
// System.out.println("3_ISSINGLETELEPHONE:"+e.toString());
}
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
Editor editor = sp.edit();
if (isDouble)
{
// 保存为双卡手机
editor.putBoolean(ISDOUBLE, true);
// 保存双卡是否可用
// 如下判断哪个卡可用.双卡都可以用
if (result_0.toString().equals("5") && result_1.toString().equals("5"))
{
if (!sp.getString(SIMCARD, "2").equals("0") && !sp.getString(SIMCARD, "2").equals("1"))
{
editor.putString(SIMCARD, "0");
}
editor.putBoolean(SIMCARD_1, true);
editor.putBoolean(SIMCARD_2, true);
tv2.setText("双卡可用");
} else if (!result_0.toString().equals("5") && result_1.toString().equals("5"))
{// 卡二可用
if (!sp.getString(SIMCARD, "2").equals("0") && !sp.getString(SIMCARD, "2").equals("1"))
{
editor.putString(SIMCARD, "1");
}
editor.putBoolean(SIMCARD_1, false);
editor.putBoolean(SIMCARD_2, true);
tv2.setText("卡二可用");
} else if (result_0.toString().equals("5") && !result_1.toString().equals("5"))
{// 卡一可用
if (!sp.getString(SIMCARD, "2").equals("0") && !sp.getString(SIMCARD, "2").equals("1"))
{
editor.putString(SIMCARD, "0");
}
editor.putBoolean(SIMCARD_1, true);
editor.putBoolean(SIMCARD_2, false);
tv2.setText("卡一可用");
} else
{// 两个卡都不可用(飞行模式会出现这种种情况)
editor.putBoolean(SIMCARD_1, false);
editor.putBoolean(SIMCARD_2, false);
tv2.setText("飞行模式");
}
} else
{
// 保存为单卡手机
editor.putString(SIMCARD, "0");
editor.putBoolean(ISDOUBLE, false);
}
editor.commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
不要忘记添加权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" />
I. android如何读取双卡双待手机SIM卡信息
点击设置里,进入双卡和移动网络,点击一卡或二卡,里面有个启动点击启动,下面有运营商网络设置,选取运营商,选择移动或联通,电信就可以了就可以获得SIM卡信息了。