相关疑难解决方法(0)

如何在Android中使用intent打电话?

我正在使用以下代码在Android中进行调用,但它给了我安全例外,请帮忙.

 posted_by = "111-333-222-4";

 String uri = "tel:" + posted_by.trim() ;
 Intent intent = new Intent(Intent.ACTION_CALL);
 intent.setData(Uri.parse(uri));
 startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

权限

 <uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)

例外

11-25 14:47:01.661: ERROR/AndroidRuntime(302): Uncaught handler: thread main exiting due to uncaught exception
11-25 14:47:01.681: ERROR/AndroidRuntime(302): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:111-333-222-4 cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{43d32508 302:com.Finditnear/10026} (pid=302, uid=10026) requires android.permission.CALL_PHONE
11-25 14:47:01.681: ERROR/AndroidRuntime(302):     at android.os.Parcel.readException(Parcel.java:1218)
11-25 14:47:01.681: ERROR/AndroidRuntime(302):     at android.os.Parcel.readException(Parcel.java:1206)
11-25 14:47:01.681: ERROR/AndroidRuntime(302):     at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1214)
11-25 14:47:01.681: ERROR/AndroidRuntime(302):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1373)
11-25 14:47:01.681: ERROR/AndroidRuntime(302):     at android.app.Activity.startActivityForResult(Activity.java:2749) …
Run Code Online (Sandbox Code Playgroud)

android phone-call android-intent android-implicit-intent android-phone-call

307
推荐指数
15
解决办法
29万
查看次数

是否可以在Android中拥有"可选"权限?

有没有办法让Android应用程序将请求的权限声明为可选?

即我想编写一个请求一组权限的应用程序,例如其中一个访问用户联系人.现在,如果没有此访问权限,应用程序可以工作并执行有用的操作,但如果授予它,它可以执行更多操作.

有没有办法和应用程序说"我想要许可X,但你可以拒绝它,在这种情况下,我很高兴运行功能减少?"

permissions android

18
推荐指数
3
解决办法
3449
查看次数

如何使用包管理器获取Android设备功能

我正在开发一个Android应用程序,我需要Android设备功能.我知道,通过使用包管理器,getSystemAvailableFeatures方法应该可用.仍然没有方法可以任何人通过发布一些与此相关的示例或源代码来帮助我.

android package-managers

8
推荐指数
2
解决办法
9151
查看次数

更新后,APK支持的设备比以前少

我有一个相对简单的应用程序,已经在谷歌的Play商店.

现在我已经更新了这个应用程序.此更新的一点是我包含了ZBar-Scanner.其余的变化很小,不应该对我的问题产生任何影响.

我只是将我应用程序的最新版本放在Play-Store中,然后收到以下警告:"警告:活动APK支持的设备数量少于以前活动的APK.有些用户不会收到更新."

我从sourceforge.net(http://sourceforge.net/projects/zbar/files/AndroidSDK/)下载了ZBarAndroidSDK-0.2.zip并将其导入我的项目,如README-File中所述.

我在我的HTC Wildfire S( - >版本2.3.5),三星Galaxy 3(GT-I5800 - >版本2.2)和我的Galaxy Nexus( - >版本4.2)上测试了我的本地应用程序.从来没有一个问题.一切正常.我还测试了导出的APK并没有问题.

现在我将此APK添加到Play-Store并更新我的应用程序,我收到测试设备的警告.我的HTC Wildfire和我的三星Galaxy 3都无法更新新版本.

任何人都可以帮我解释一下这个问题是什么?

非常感谢!!!

编辑:

我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.myproject"
android:versionCode="5"
android:versionName="2.0" 
android:installLocation="preferExternal"
>

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>

<application
    android:uiOptions="splitActionBarWhenNarrow"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    >

    <!-- enable the search dialog to send searches to SearchableActivity throughout the application -->
    <meta-data
        android:name="android.app.default_searchable"
        android:value=".SearchableActivity" />

    <activity
        android:label="@string/app_name"
        android:name=".MainActivity" 
        android:screenOrientation="portrait"
        android:theme="@style/Theme.NoBackground">                                  

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

    <activity …
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-2.2-froyo android-2.3-gingerbread zbar

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

Android:通过 ADB 授予权限

对于我的应用程序的某些功能,我需要使用相机,这不是应用程序的核心功能所必需的,因此我需要指定使用相机是可选的。所以在清单中我声明了如下许可:

<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/> 
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用以下命令通过 adb 授予权限时,会出现错误:

pm grant my.app.package android.permission.CAMERA
Run Code Online (Sandbox Code Playgroud)

给出错误:

Operation not allowed: java.lang.SecurityException: Can't change android.permission.CAMERA. It is required by the application
Run Code Online (Sandbox Code Playgroud)

我的设备是根设备,它运行 android 5.1.1(22)。根据亚行文档,由于权限被声明为可选,我应该能够如上所述从亚行授予权限。我已经参考了这个这个这个。但我仍然无法找出它不起作用的原因。

预先感谢您的建议和建议。

permissions android

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

如何请求android.permission.CALL_PHONE但仍安装在平板电脑上?

我有一个我刚刚发布到Play商店的应用,当我尝试从缺少电话的平板电脑访问时,它显示为"此应用与您的所有设备不兼容".它安装在实际的Android手机上.

事情就是这样 - 我们希望用户能够在平板电脑和其他没有手机的设备上安装应用程序,并且只是让电话功能无法正常工作.但是如果我在清单中包含CALL_PHONE权限,则Play商店根本不允许安装它.

<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)

如何让Google Play允许要求CALL_PHONE权限的应用安装在没有手机的设备上?

android google-play

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