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卡信息了。