调用系统Activity时可能会出现一些问题,使我们的程序不能运行,这时我们要考虑是不是没有获得权限,而获得权限的代码很简单。

在AndroidManifest.xml里面添加<uses-permission>标签即可。

 

例如我们需要直接调用系统Activity拨打电话,那么除了以下代码:

public class CallDear extends Activity {

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_call_dear);

    //调用直接拨号Activity
    Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:18674385210"));
    startActivity(calllIntent);

    //Activity跳转时用到的跳转特效,这里用的fade 渐入渐出。

    overridePendingTransition(R.anim.fade, R.anim.fade); 
}

 

还需要在AndroidManifest.xml里面添加<uses-permission>标签,如下(黑体部分):

<manifest xmlns:andro >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".CallDear"
android:label="@string/title_activity_call_dear" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
</manifest>

没有授权,是不可以直接拨打电话的。添加了授权的代码后,在用户安装程序时将会询问是否允许该操作。

相关文章:

  • 2022-12-23
  • 2021-08-08
  • 2021-11-29
  • 2021-05-31
  • 2021-10-06
  • 2021-09-14
  • 2021-07-09
  • 2021-11-25
猜你喜欢
  • 2021-09-07
  • 2021-07-13
  • 2022-01-13
  • 2022-02-15
  • 2021-08-16
  • 2022-12-23
  • 2021-06-11
相关资源
相似解决方案