我是Android开发的新手,我想知道如果你在API级别大于minSdkVersion的XML标签上使用属性会发生什么.
例如:
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="20" />
Run Code Online (Sandbox Code Playgroud)
然后用这个:
<activity android:logo="@drawable/iconwhatever"></activity>
Run Code Online (Sandbox Code Playgroud)
"android:logo"属性来自API级别11.
在Android Studio中,它会出现以下错误,但我想知道如果不考虑会发生什么:
Attribute "logo" is only used in API level 11 and higher. (Current min is 9)
Run Code Online (Sandbox Code Playgroud)
任何有关这方面的帮助将不胜感激.
我想直接从Google相册应用中获取图片.我希望绕过通常在使用时启动的应用选择器,Intent.ACTION_GET_CONTENT如果用户已安装它,则直接转到Google相册,并允许用户选择一个图像,然后将其返回到我在ActivityResult中的应用.
我试图通过以下方式执行此操作:
if (callingActivity != null && isGooglePhotosInstalled(callingActivity)) {
Intent intent = callingActivity.getPackageManager().getLaunchIntentForPackage(GOOGLE_PHOTOS_PACKAGE_NAME);
intent.setAction(Intent.ACTION_GET_CONTENT); // ALSO TRIED Intent.ACTION_PICK
intent.setType("image/*");
try {
callingActivity.startActivityForResult(intent, MediaPickerActivity.REQUEST_PHOTO_FROM_GOOGLE_PHOTOS);
} catch (ActivityNotFoundException e) {
showErrorMsgDialog(callingActivity, "You don't have Google Photos installed! Download it from the play store today.");
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
要检查是否安装了Google相册,我正在使用:
private static final String GOOGLE_PHOTOS_PACKAGE_NAME = "com.google.android.apps.photos";
public static boolean isGooglePhotosInstalled(Context context) {
PackageManager packageManager = context.getPackageManager();
try {
return packageManager.getPackageInfo(GOOGLE_PHOTOS_PACKAGE_NAME, PackageManager.GET_ACTIVITIES) != null;
} catch (PackageManager.NameNotFoundException e) {
return …Run Code Online (Sandbox Code Playgroud) 我正在使用可扩展列表视图分别在菜单中显示选项和子选项.进来的数据是正确的,但奇怪的是listview似乎为每个数据条目调用了两次getChild和getChildView,因此它被添加到视图两次.它迭代,然后似乎再次迭代.
例:
分类:-Toys -ElectronicsCars -Toys -ElectronicsCars
预期:分类:-Toys -ElectronicsCars
我对Android和Java真的很陌生,所以我可能会犯一个菜鸟错误.我已经介入尝试找到一个重复数据的点,但我能找到的是getChild/getChildView被调用两次.
这是expandableListView适配器类:
public class ExpandableListAdapter extends BaseExpandableListAdapter {
private Context context;
private ArrayList<String> filterHeaderList;
// child data in format of header title, child title
private HashMap<String, ArrayList<JSONObject>> filterOptionsMap;
public ExpandableListAdapter(Context context, ArrayList<String> filterHeaders, HashMap<String, ArrayList<JSONObject>> filterChildListMap) {
this.context = context;
this.filterHeaderList = filterHeaders;
this.filterOptionsMap = filterChildListMap;
}
@Override
public String[] getChild(int groupPosition, int childPosititon) {
JSONObject childObject = this.filterOptionsMap.get(this.filterHeaderList.get(groupPosition)).get(childPosititon);
if (childObject != null) {
Iterator<?> it = childObject.keys();
String key = null; …Run Code Online (Sandbox Code Playgroud) 我正在尝试在已启动的服务中使用AWS Android SDK for S3.我对SDK和服务都不熟悉.我非常有信心Transfer Utility也在运行服务.
Handler (android.os.Handler) {11629d87} sending message to a Handler on a dead thread
java.lang.IllegalStateException: Handler (android.os.Handler) {11629d87} sending message to a Handler on a dead thread
at android.os.MessageQueue.enqueueMessage(MessageQueue.java:325)
at android.os.Handler.enqueueMessage(Handler.java:631)
at android.os.Handler.sendMessageAtTime(Handler.java:600)
at android.os.Handler.sendMessageDelayed(Handler.java:570)
at sksDoneLater(TransferService.java:189)
at com.amazonaws.mobileconnectors.s3.transferutility.TransferService.access$200(TransferService.java:44)
at com.amazonaws.mobileconnectors.s3.transferutility.TransferService$2.handleMessage(TransferService.java:166)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:135)
at android.os.HandlerThread.run(HandlerThread.java:61)
Run Code Online (Sandbox Code Playgroud)
这是我用来启动它的代码:
AmazonS3 amazonS3 = new AmazonS3Client(credentialsProvider);
mTransferUtility = new TransferUtility(amazonS3, getApplicationContext());
TransferObserver observer = mTransferUtility.upload(
S3_RAW_BUCKET_ARN,
mVidFileKey,
mVidFile);
observer.setTransferListener(new TransferListener() {...})
Run Code Online (Sandbox Code Playgroud)
之前它说它无法获得s3客户端.我在上面的应用程序类中创建了客户端,并成功地在一个活动中使用相同的代码来执行成功的传输,因此它必须是我不知道的服务的显而易见的东西.上面的代码在从onStartCommand()服务中调用的方法中调用.
任何帮助将非常感激.
更新 - 请求全班并在此处显示:
public …Run Code Online (Sandbox Code Playgroud)