Java 应用程序无法在android 4.0上运行
从安卓2.1到安卓2.3,我的程序运行得非常好 但它在更高版本的android上不起作用。 当应用程序在高于2.3的版本上执行时,它不会给出任何异常。 当在2.3或更低版本上运行时,正确拨打号码并正确执行imei或其他查询,但当应用程序在更高版本上运行时,只会打开带有代码的拨号板,但不会拨打号码/代码 我在我的清单文件中使用了Java 应用程序无法在android 4.0上运行,java,android,xml,Java,Android,Xml,从安卓2.1到安卓2.3,我的程序运行得非常好 但它在更高版本的android上不起作用。 当应用程序在高于2.3的版本上执行时,它不会给出任何异常。 当在2.3或更低版本上运行时,正确拨打号码并正确执行imei或其他查询,但当应用程序在更高版本上运行时,只会打开带有代码的拨号板,但不会拨打号码/代码 我在我的清单文件中使用了 <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18"
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="18" />
对于某些代码,您可以尝试使用
Intent.ACTION\u CALL
而不是Intent.ACTION\u DIAL
但对于大多数代码,我恐怕你无法做到这一点
你可以看看
。。。起初,可以直接呼叫USSD
来自应用程序的代码(使用intent.ACTION_拨号)[…]
但这实际上被认为是一个错误
系统的漏洞,因为有人可能编写恶意代码
软件,甚至更多,在网站中插入恶意代码,可能导致
甚至擦拭手机或屏蔽sim卡[…]
在这一点上,将很难找到任何设备
仍然脆弱
转到答案以了解更多信息您不应该使用拨号器执行这些任务。相反,使用适当的Android API来获取此信息。这里有两个问题可以让您快速入门:
有关更多详细信息,请参阅参考文档和Android培训文章。这很可能是一种安全功能,用于防止应用程序拨打可能会危害手机的代码。。。很遗憾,我找不到任何东西来证实这个想法。谢谢你的回复,先生,你能为这个问题提出任何解决方案吗?
public class Motorola extends Activity implements OnClickListener{
TextView tvm1,tvm2,tvm3;
Intent myIntent;
String m=Uri.encode("#");
String str;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.motorola);
tvm1=(TextView) findViewById(R.id.tvmo1);
tvm2=(TextView) findViewById(R.id.tvmo3);
tvm3=(TextView) findViewById(R.id.tvmo2);
AdView adv3=(AdView) findViewById(R.id.ad4);
adv3.loadAd(new AdRequest());
tvm1.setOnClickListener(this);
tvm2.setOnClickListener(this);
tvm3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
/* *#06#:DISPLSYS IMEI NUMBER.
*#*#4636#*#*:DISPLAY INFORMATION ABOUT PHONE, BATTERY AND USAGE STATISTICS.
##7764726:MOTOROLA DROID HIDDEN SERVICE MENU. THE DEFAULT SPC PASSWORD IS SIX ZEROES (000000).*/
switch(v.getId())
{
case R.id.tvmo1:
str="*"+m+"06"+m;
myIntent=new Intent(Intent.ACTION_DIAL);
myIntent.setData(Uri.parse("tel:"+str));
startActivityForResult(myIntent,1);
break;
case R.id.tvmo2:
str="*"+m+"*"+m+"4636"+m+"*"+m+"*";
myIntent=new Intent(Intent.ACTION_DIAL);
myIntent.setData(Uri.parse("tel:"+str));
startActivityForResult(myIntent,1);
break;
case R.id.tvmo3:
str=m+m+7764726;
myIntent=new Intent(Intent.ACTION_DIAL);
myIntent.setData(Uri.parse("tel:"+str));
startActivityForResult(myIntent,1);
break;
}
}
}