01-16 16:52:42.211: E/ActivityThread(2529): Activity com.Civilcourage.CivilcurageSplash has leaked IntentReceiver com.google.android.gcm.GCMBroadcastReceiver@405282e0 that was originally registered here.
Are you missing a call to unregisterReceiver()?
Run Code Online (Sandbox Code Playgroud)
上述错误的原因是什么?怎么可以避免?
我理解清单中的这些属性:
android:theme="@android:style/Theme.NoTitleBar"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
Run Code Online (Sandbox Code Playgroud)
可以删除标题栏.但是,当我修改我的应用程序时,我会不断检查图形布局.当我看到图形布局时,我仍然看到标题栏.我想以一种在游戏开发过程中不必看到它的方式删除标题栏.
我试图从一个删除标题时遇到一些问题listView.起初我用addHeaderView()它来添加它,但是当我改为另一个布局时我希望它消失但removeHeaderView()不起作用......
我也试过设置GONE的可见性,但它并没有消失......
我能做什么?
提前致谢
我的Android应用程序接收带有图像的HTML内容.是否可以使fromHTML()函数在它收到的HTML字符串中显示图像?
如果没有,我如何检索HTML字符串中的图像并将其转换为TextView图像?
谢谢
我开始一个新的Activity从原来的Activity使用startActivityForResult(intent, requestCode).我想Activity在用户按下后退按钮时将数据返回到原始数据,因此返回原始数据时Activity.我尝试了两种方法:
压倒一切onBackPressed():
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent();
intent.putIntegerArrayListExtra(SELECTION_LIST, selected);
setResult(RESULT_OK, intent);
}
Run Code Online (Sandbox Code Playgroud)压倒一切onPause():
@Override
protected void onPause() {
super.onPause();
Intent intent = new Intent();
intent.putIntegerArrayListExtra(SELECTION_LIST, selected);
setResult(RESULT_OK, intent);
}
Run Code Online (Sandbox Code Playgroud)不幸的是,他们没有工作(resultCode不RESULT_OK中onActivityResult()).这样做的正确方法是什么?谢谢!
当我尝试检查特定文件的存在时,我得到了 java.lang.illegalArgumentException: File contains a path separator
使用getFileStreamPath(..)执行此操作的正确方法是什么?
File file = getActivity().getFileStreamPath("mnt/sdcard/photo/1342147146535.jpg");
if(file.exists()){
Toast.makeText(getActivity(), "File exists in /mnt", Toast.LENGTH_SHORT);
}
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下代码来替换上面代码的第一行.这些都没有奏效.
File file = getActivity().getFileStreamPath("file:///mnt/sdcard/photo/aviary_1342147146535.jpg");
File file = getActivity().getFileStreamPath("/mnt/sdcard/photo/1342147146535.jpg");
// File file = getActivity().getFileStreamPath("mnt/sdcard/photo/1342147146535.jpg");
// File file = getActivity().getFileStreamPath("file:///mnt/sdcard/photo/1342147146535.jpg");
if(file.exists()){
Toast.makeText(getActivity(), "File exists in /mnt", Toast.LENGTH_SHORT);}
else {
Toast.makeText(getActivity(), "File NOT exists in /mnt", Toast.LENGTH_SHORT);}
Run Code Online (Sandbox Code Playgroud) 我无法为我希望以受控方式提供敏感数据的应用授予"反向权限".
我的应用程序是一个时间跟踪器,因为时间跟踪日志可以被视为个人信息,我已经创建了访问它的权限并为其分配了android.permission-group.PERSONAL_INFO权限组.
要从手机导出时间日志,我添加了将日志作为电子邮件附件发送的功能.附件由受我新添加的权限保护的内容提供商生成.我发送电子邮件的代码如下所示:
String email = "someone@example.com";
Uri uri = TimeLog.CSVAttachment.CONTENT_URI;
Intent i = new Intent(Intent.ACTION_SEND, uri);
i.setType("text/csv");
i.putExtra(Intent.EXTRA_EMAIL, new String[]{email});
i.putExtra(Intent.EXTRA_SUBJECT, "Time log");
i.putExtra(Intent.EXTRA_TEXT, "Hello World!");
i.putExtra(Intent.EXTRA_STREAM, uri);
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
在我的HTC手机上运行时,我会在Gmail和HTC邮件之间进行弹出式选择.选择Gmail,我在Gmail应用中遇到以下异常:
ERROR/AndroidRuntime(8169): Caused by: java.lang.SecurityException:
Permission Denial: reading com.mycompany.timelog.TimeLog uri
content://com.mycompany.timelog/csv_attachment from pid=8169,
uid=10035 requires com.mycompany.timelog.permission.READ_TIME_LOG
Run Code Online (Sandbox Code Playgroud)
我确实android:grantUriPermissions="true"设置了我的提供商,但这没有帮助.我有一个关于为什么会这样的理论.我曾预计FLAG_GRANT_READ_URI_PERMISSION会授予Gmail访问我的内容提供商的权利,但我认为真正发生的是此权限授予com.android.internal.app.ResolverActivity,因为Intent和Android创建了多个匹配项用于向用户显示选择的包装器活动.
所以,我尝试将其硬编码到我的应用程序中仅用于测试:
grantUriPermission("com.google.android.gm", uri,
Intent.FLAG_GRANT_READ_URI_PERMISSION);
Run Code Online (Sandbox Code Playgroud)
这允许Gmail正确显示电子邮件,我可以按"发送".不幸的是,在GMail关闭后,我在com.google.process.gapps中遇到了这个例外:
ERROR/AndroidRuntime(7617):java.lang.SecurityException:Permission Denial:从pid = 7617读取com.mycompany.timelog.TimeLog uri内容://com.mycompany.timelog/csv_attachment,uid = 10011要求 com.mycompany.timelog.permission.READ_TIME_LOG
请注意,这来自不同的PID和UID.这是因为对openAssetFile的实际调用是从属于不同包的某个同步提供程序组件(com.google.android.googleapps?)发生的.
虽然我有一些希望最终找到一种方法来向我的ACTION_SEND意图的最终接收者授予权限,但是对openAssetFile的调用是从一些完全不同且实际上不相关的包发生的事实让我感到困惑的是权限授予应该如何工作.
所以最终我的问题是,鉴于日志是敏感数据,我如何允许它作为附件通过电子邮件发送,同时尊重用户的隐私(例如,不使附件世界可读)?
如果我在滚动的WebView同时运行一些javascript WebView(用手指在屏幕上),则在手指从设备上抬起并且滚动停止之前,视图不会更新为新的外观.
为了测试这个,我onScroll在WebView那里,我正在调用一些javascript,它将页面的背景改为随机颜色.当页面滚动时,会一遍又一遍地调用它.因此滚动时应该快速闪烁不同的颜色.
然而,在带有姜饼的Nexus S和带有冰淇淋三明治的Galaxy Nexus上,颜色仅在滚动停止时更新.
但是在带有Honeycomb的Xoom上,当您滚动时,颜色会不断更新.这是期望的结果.
任何关于其他设备上有什么不同的想法以及如何在滚动Xoom的方式时强制WebView更新自己?
谢谢!
更多信息:请注意,在滚动期间接收并制作了javascript,但是在滚动结束之前,不会显示显示这些更改的图片.例如,如果您调用的javascript是"console.log('rawr');" 滚动时出现的日志.
在源代码中找到了一些东西 有一个WebView名为startDrag()的方法,它调用WebViewCore.pauseUpdatePicture(mWebViewCore)来禁止在滚动时更新图片.在3.0中,他们引入了WebSetting setEnabledSmoothTransition(),您可以在4.0代码中看到它,允许您禁用暂停.但是,这仅适用于3.0或更高版本,这意味着不到野外设备的3%.到目前为止,我没有看到任何方法在3.0之前在设备中解决这个问题..... :(
我有两个活动,MainActivity和NextActivity.从MainActivity我可以去NextActivity,然后Intent用来回去MainActivity.但随后OnCreate会调用其他东西,就像所有东西都被重新初始化一样.我想回到状态,就像我进入之前一样NextActivity.
我意识到,如果我使用手机上的物理后退按钮,那么这就完成了.
那么如何回到活动就像后退按钮一样?
PS.我测试finish()但没有帮助.
我正在开发一个与facebook集成的Android应用程序.我正在使用fql查询从Facebook获取信息.我的fql方法是
void runfql(){
String fqlQuery = "SELECT uid, name, pic_small,birthday FROM user WHERE uid IN " +
"(SELECT uid2 FROM friend WHERE uid1 = me() )";
Bundle params = new Bundle();
params.putString("q", fqlQuery);
Session session = Session.getActiveSession();
Request request = new Request(session,
"/fql",
params,
HttpMethod.GET,
new Request.Callback(){
public void onCompleted(Response response) {
JSONObject myjson=response.getGraphObject().getInnerJSONObject();
Log.d("ResultResultResult: " ,""+myjson);
}
});
Request.executeBatchAsync(request);
}
Run Code Online (Sandbox Code Playgroud)
myjson对象拥有我想要的所有信息.像这样
{"data":[{"uid":536089174,"birthday":"July 22","name":"Usman Aslam Sheikh"},{"uid":581379174,"birthday":"July 26","name":"Ammar Khalid"}
Run Code Online (Sandbox Code Playgroud)
问题是如何将该信息存储到不同的数组?
请为此目的找一些代码.?