我想从画廊创建一个图片选择器.我用代码
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, TFRequestCodes.GALLERY);
Run Code Online (Sandbox Code Playgroud)
我的问题是在此活动中显示视频文件.有没有办法过滤显示的文件,以便在此活动中不显示任何视频文件?
我需要告诉我的设备是否有Internet连接.我找到了许多答案,如:
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
Run Code Online (Sandbox Code Playgroud)
(摘自检测Android上是否有可用的Internet连接.)
但这是不对的,例如,如果我连接到无法访问Internet的无线网络,此方法将返回true ... 是否有方法可以判断设备是否具有Internet连接,而不是仅仅连接什么?
如何检测editText的删除(退格)键事件?我尝试过使用TextWatcher,但是当editText为空时,当我按下删除键时,没有任何反应.即使没有文本,我想检测删除键按下一个editText.
我想画一个文字到油漆.如何用自定义字体(前Helvetica)和粗体绘制它?我宁愿使用系统字体而不是从资产创建它.谢谢.
如果我有参考Context,是否可以完成当前的活动?
我没有参考当前的活动.
有没有办法获取/设置媒体量?我尝试过以下方法:
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING);
Run Code Online (Sandbox Code Playgroud)
但它返回铃声音量.
有没有办法设置我想要的LED强度?我知道打开我使用的LED:
p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mycam.setParameters(p);
Run Code Online (Sandbox Code Playgroud)
但是这段代码只是打开了LED.但有没有办法为LED设置不同的强度以获得更强的光线或降低光线强度?
我想将内部存储上的文件保存到特定文件夹中.我的代码是:
File mediaDir = new File("media");
if (!mediaDir.exists()){
mediaDir.createNewFile();
mediaDir.mkdir();
}
File f = new File(getLocalPath());
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
fos.write(data);
fos.close();
Run Code Online (Sandbox Code Playgroud)
getLocalPath返回,/data/data/myPackage/files/media/qmhUZU.jpg但是当我想创建媒体文件夹时,我得到异常"java.io.IOException:只读文件系统".有任何想法如何在文件夹媒体中的内部手机存储上写我的文件?谢谢.
我正在尝试从我的资源文件夹中共享图像.我的代码是:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpg");
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///assets/myImage.jpg"));
startActivity(Intent.createChooser(share, "Share This Image"));
Run Code Online (Sandbox Code Playgroud)
但它不起作用.你有什么想法?
我有一个TextView,我必须加载一条消息.TextView最多有2行(android:lines="2").该消息可能包含'\n'字符.
我应该如何在TextView中加载消息以便将文字包装起来,如果在那两行中消息不合适,在最后一个可见单词的末尾我必须添加三个点(...)?如何检测适合该TextView的文本长度?
我的TextView代码是
<TextView
a:id="@+id/tv_message"
a:gravity="top"
a:layout_width="wrap_content"
a:layout_height="wrap_content"
a:layout_alignParentTop="true"
a:layout_toRightOf="@id/iv_icon"
a:layout_marginLeft="2dp"
a:layout_marginTop="4dp"
a:paddingRight="7dp"
a:paddingBottom="5dp"
a:textSize="12sp"
a:typeface="sans"
a:ellipsize="marquee"
a:lines="2"
a:maxLines="2"
a:textColor="@android:color/black"
/>
Run Code Online (Sandbox Code Playgroud)
但在应用程序中,文本显示在两行上,即使有一行包含签名.消息类似于:"消息文本"+"\nSignature"但消息可以在1,2,3行上,具体取决于消息长度.