我正在找出一种方法来替换我的自定义拨号器应用程序中的默认拨号器应用程序,但我没有得到如何实现这一点.
这就是我想要的
我有一张存储在手机SD卡中的图像.我想在图像视图中显示它.我知道文件的位置.关于活动的创造是有一种简单的方式来说出类似的东西
ImageView img = (ImageView) findViewById(R.id.imageView1);
String path = Environment.getExternalStorageDirectory().toString() "Images/image.jpg";
img.setsrc = path ;
Run Code Online (Sandbox Code Playgroud)
如果有任何办法,请告诉我.谢谢.
在我面临的问题之后,我正在将我的代码从Google分析迁移到Firebase
更新:上面解决了,我发送大数据,所以它只是省略了它们.
所以我的担忧并不是例外,而是从哪里抛出?
Firebase崩溃报告之前 OKhttp
Exception java.net.SocketTimeoutException: connect timed out
java.net.PlainSocketImpl.socketConnect (PlainSocketImpl.java)
java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:334)
java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:196)
java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:178)
java.net.SocksSocketImpl.connect (SocksSocketImpl.java:356)
java.net.Socket.connect (Socket.java:586)
com.android.okhttp.internal.Platform.connectSocket (Platform.java:113)
com.android.okhttp.Connection.connectSocket (Connection.java:1432)
com.android.okhttp.Connection.connect (Connection.java:1390)
com.android.okhttp.Connection.connectAndSetOwner (Connection.java:1667)
com.android.okhttp.OkHttpClient$1.connectAndSetOwner (OkHttpClient.java:133)
com.android.okhttp.internal.http.HttpEngine.connect (HttpEngine.java:466)
com.android.okhttp.internal.http.HttpEngine.sendRequest (HttpEngine.java:371)
com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute (HttpURLConnectionImpl.java:503)
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse (HttpURLConnectionImpl.java:438)
com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode (HttpURLConnectionImpl.java:567)
com.package.MyClass$4.doInBackground (MyClass.java:168)
com.package.MyClass$4.doInBackground (MyClass.java:161)
android.os.AsyncTask$2.call (AsyncTask.java:304)
java.util.concurrent.FutureTask.run (FutureTask.java:237)
android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:243)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
java.lang.Thread.run (Thread.java:762)
Run Code Online (Sandbox Code Playgroud)
OkHttp之后的Firebase崩溃报告
Exception java.net.SocketTimeoutException: connect timed out
java.net.PlainSocketImpl.socketConnect (PlainSocketImpl.java)
java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:334)
java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:196)
java.net.AbstractPlainSocketImpl.connect (AbstractPlainSocketImpl.java:178)
java.net.SocksSocketImpl.connect (SocksSocketImpl.java:356)
java.net.Socket.connect (Socket.java:586) …Run Code Online (Sandbox Code Playgroud) 如何使用MediaBrowserService从不同的提供程序(文件资源管理器,GoogleDrive,ContentProvider等)加载媒体,保持单一服务
经过UAMP检查,它只使用一个提供商
我的第二个问题是onLoadItem的目的是什么
我可以使用以下代码使用Android应用程序显示字幕(webvtt)
MediaTrack subtitle = new MediaTrack.Builder(0, MediaTrack.TYPE_TEXT)
.setName("English")
.setSubtype(MediaTrack.SUBTYPE_SUBTITLES)
.setContentId(mediaObject.getSubtitleUrl())
.setLanguage(Locale.getDefault())
.build();
tracks.add(subtitle);
Run Code Online (Sandbox Code Playgroud)
我的问题是,当媒体最初加载到Chromecast时,这种方法很有效,所以如果我想在媒体播放后再添加字幕,我必须重新加载媒体.
这有解决方法吗?我已经看到一些应用程序正在执行所需的行为.
我正在尝试uamp示例,每当方向更改MediaBrowserFragment recyclelerview状态丢失时(不保持其滚动位置).
我的问题是如何在uamp样本中保持滚动位置.
我知道我可以保存滚动位置并在以后恢复,但由于recyclerView本身保持滚动状态,我不想要那些黑客攻击.
我尝试推动这个简单的片段而不是MediaBrowserFragment并保持其滚动
public class TestFragment extends Fragment {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View mRootView = inflater.inflate(R.layout.fragment_test, container, false);
RecyclerView recyclerView = (RecyclerView) mRootView.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(new RecAdapter());
return mRootView;
}
private class RecAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_text, null);
return new ItemViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
((ItemViewHolder) holder).title.setText(""+ position); …Run Code Online (Sandbox Code Playgroud) 我正在使用下面的代码加入两个图像,但它会抛出一个OutOfMemory错误,我的图像每个大约1MB.
private Bitmap overlayMark(String first, String second)
{
Bitmap bmp1, bmp2;
bmp1 = BitmapFactory.decodeFile(first);
bmp2 = BitmapFactory.decodeFile(second);
if (bmp1 == null || bmp2 == null)
return bmp1;
int height = bmp1.getHeight();
if (height < bmp2.getHeight())
height = bmp2.getHeight();
Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth() + bmp2.getWidth(), height,
Bitmap.Config.ARGB_8888);// Out of memory
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, 0, 0, null);
canvas.drawBitmap(bmp2, bmp1.getWidth(), 0, null);
bmp1.recycle();
bmp2.recycle();
return bmOverlay;
}
Run Code Online (Sandbox Code Playgroud)
更新:我尝试了下面两个答案,但它仍然没有完全创建这么大的位图,问题是结果位图在2400x3200左右太大,所以它的内存不足.
如何在不耗尽内存的情况下加入大型图像?
我已经使用Cling创建了应用程序并且工作正常但是当我创建发布版本时,我得到以下消息并且渲染器上没有任何内容:
11-22 16:24:53.341 20172-20172/? I/RendererCommand? TrackMetadata : TrackMetadata [id=1, title=IMG-20151120-WA0007, artist=, genre=, artURI=res=http://192.168.1.4:8089/1.jpg, itemClass=object.item.imageItem]
11-22 16:24:53.345 20172-20172/? V/RendererCommand? Resume
11-22 16:24:53.351 20172-20301/? W/RendererCommand? Fail to stop ! Error: Current state of service prevents invoking that action. Error writing request message. Can't transform message payload: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType. (HTTP response was: 500 Internal Server Error)
11-22 16:24:53.351 20172-20301/? I/RendererCommand? Set uri to http://192.168.1.4:8089/1.jpg
11-22 16:24:53.353 20172-20386/? D/RendererCommand? Update state !
11-22 16:24:53.354 20172-20264/? W/RendererCommand? Fail …Run Code Online (Sandbox Code Playgroud) 我有奇怪的问题,我正在使用以下代码为chromecast创建mediaprovider,第一次运行正常,显示设备列表并且一旦我选择使用router.selectRoute(routeinfo);
但是一旦我退出应用程序此代码无法找到Chromecast设备,我何时删除应用程序从运行应用程序堆栈这个代码再次正常工作并显示设备.
如果没有选择任何设备并使用后退退出应用程序,那么此代码也可正常工作
那我在这里做错了什么?当我的应用程序以简单的后退方式退出时,我认为资源不会被清除.
public class ChromecastRouteProviderService extends MediaRouteProviderService {
final String LOGTAG = "Chromecast";
private static final String CONTROL_CATEGORY = CastMediaControlIntent.categoryForCast(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID);
private static final MediaRouteSelector SELECTOR = new MediaRouteSelector.Builder().addControlCategory(CONTROL_CATEGORY)
.addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK).build();
private IntentFilter controlFilter;
public ChromecastRouteProviderService() {
controlFilter = new IntentFilter();
}
public void onCreate() {
super.onCreate();
controlFilter.addCategory(IAppConstants.CATEGORY);
controlFilter.addCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK);
}
@Override
public MediaRouteProvider onCreateMediaRouteProvider() {
return new ChromecastRouteProvider(this);
}
class ChromecastRouteProvider extends MediaRouteProvider {
MediaRouter.Callback callback;
Hashtable routes;
public ChromecastRouteProvider(Context context) {
super(context);
routes = new Hashtable();
callback = …Run Code Online (Sandbox Code Playgroud) 嗨我正在使用NavigationView但我收到错误,下面是我的xml,我已经包含了android支持和v7库
project.properties因为我没有使用Android工作室
target=android-22
android.library.reference.1=../android-support-v7-appcompat
android.library.reference.2=../design
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.toxic.apps.kodi" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/primary"
android:minHeight="?attr/actionBarSize" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:itemTextColor="@color/primary"
app:menu="@menu/drawer" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
以下是我的堆栈跟踪
06-21 06:24:12.799: E/AndroidRuntime(4913): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.toxic.apps.kodi/com.toxic.apps.kodi.Activities.MainActivity}: android.view.InflateException: Binary XML file line #30: Error inflating class android.support.design.widget.NavigationView
06-21 06:24:12.799: E/AndroidRuntime(4913): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
06-21 06:24:12.799: E/AndroidRuntime(4913): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
06-21 06:24:12.799: E/AndroidRuntime(4913): …Run Code Online (Sandbox Code Playgroud)